Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: нужна помощь с реализацией обратного отчета и рандом (2)
 
 автор: bad_lag   (08.03.2006 в 19:08)   письмо автору
 
 

Я наконец то дошел до разбора скриптов которые вы мне любезно предоставили, но т.к я чайник у меня ничего не выходит. Итак напомню что вы мне предоставили ссылку на обратный отчет http://javascript.aho.ru/example/JsPrimeryCode-46.htm
и там есть такой текст
//Если заменить на <?=$timePrev+$shiftInSeconds*1000?>
НО вот что заменить я так и не понял. Это первая проблема.
Вторая заключается вот в чем. Вы мне написали такой вот скрипт

ww1=setInterval(clock1,999); //чтобы потом остановить часы
...
function clock1(){var D;
document.getElementById('time').innerHTML=
(D=new Date(d2=Dphp-(new Date()).getTime()+dKlientM*60000)).getHours()+':'
+(D.getMinutes()/100).toFixed(2).substr(2)+':'+(D.getSeconds()/100).toFixed(2).substr(2);
if(D.getTime()-dKlientM*60000<0){запуск_рандома();clearInterval(ww1);}
}

он должен запускать рандом, но после остановки отчета возникает ошибка "предполагается наличие функции", а как вставить эту функцию в последнюю строчку я не знаю, т.к рандом у меня выглыдит вот так

<SCRIPT language=JavaScript>
function genRandomNum(objekt,field,field2) {
var D = new Date;
var Num1 = Math.round ( Math.random()* 32 );
var Num2 = Math.round ( Math.abs ( Math.sin ( D.getTime () ) ) * 32 );
document.forms[objekt].elements[field].value = Num1;
document.forms[objekt].elements[field2].value = Num2;
}

</SCRIPT>

Помогите разобратся чайнику!!

   
 
 автор: 12345   (09.03.2006 в 17:20)   письмо автору
 
   для: bad_lag   (08.03.2006 в 19:08)
 

1. Исходный код такой:
<B>Таймер обратного отсчёта. При генерации в PHP не сбрасывает момента обнуления.<br></B><br>
Для проверки без веб-сервера поставлено время на час больше текущего. Данный пример чувствителен к перезагрузке страницы.<br><br>
<div id=time style=font:24></div> 
<script> DD=0; 
onload=function(){Dphp=(new Date()).getTime()+3600*1000; 
    //Для проверки без веб-сервера поставлено время на час больше текущего.
    //Если заменить на  <?=$timePrev+$shiftInSeconds*1000?>
    //  , где $timePrev - ранее полученное время с клиента, то не будет зависеть от обновления страницы.
    dKlientM=(new Date()).getTimezoneOffset();
    setInterval(clock1,999);clock1();
  f2();
    } 
function clock1(){var D; 
    document.getElementById('time').innerHTML= 
    (D=new Date(Dphp-(new Date()).getTime()+dKlientM*60000)).getHours()+':' 
    +(D.getMinutes()/100).toFixed(2).substr(2)+':'+(D.getSeconds()/100).toFixed(2).substr(2); 
}
</script> 
Речь идёт о связке страницы и серверного PHP, который выдаст серверное время. Вам это не нужно в текущей задаче, а нужен как раз отсчёт на час. Поэтому "заменить" ничего не нужно.

2. А Вы так и вставили эту строчку в код?
if(D.getTime()-dKlientM*60000<0){запуск_рандома();clearInterval(ww1);} 

Если да, то, конечно, он будет ругаться на неопределённую функцию запуск_рандома(), странно, что ещё по-русски понимает и не посылает ещё дальше :).

Вместо этой функции вставьте genRandomNum (только здесь не повторяйте, что я сейчас написал, а свои параметры, 3 штуки: ) )

3. (совет дополнительно) если не знаете, как вставлять функцию, не беритесь за задачу, сначала за учебник азов.

   
 
 автор: bad_lag   (10.03.2006 в 01:03)   письмо автору
 
   для: 12345   (09.03.2006 в 17:20)
 

1) Нет я конечно не так вставлял!! И вообще я много вариантов пробовал (кроме этого -_-)!!
И вот еще я сделал как было сказано и теперь он пишет document.forms[...].elements - есть null или не является обектом хотя форму я прикрепил! или может я опять туплю и что то не так делаю (хотя если есть ошибка то полюбе что то не так делаю) :)
2) Время 2 ночи и я не совсем втыкаю что значит "только здесь не повторяйте, что я сейчас написал, а свои параметры, 3 штуки". Если я правильно понял то свои параметры это та самая функция genRandomNum , но что значит 3 штуки, НЕТ я конечно не такой тупой, но иногда бывает меня глючит! :)
3) Еееслиб у меня было время книжки читать .... эхххх я бы тогда..., вобщем я бы тут не задавал такие глупые вопросы. )

   
 
 автор: 12345   (10.03.2006 в 16:55)   письмо автору
 
   для: bad_lag   (10.03.2006 в 01:03)
 

document.forms[...].elements - есть null - значит у формы указанного номера элемента или его имени нет. Ошибки могут быть просто от пропуска скобки или запятой. Пока не выложили ссылку на нерабочий пример, ничего сказать нельзя.

   
 
 автор: bad_lag   (11.03.2006 в 00:20)   письмо автору
 
   для: 12345   (10.03.2006 в 16:55)
 

я бы конечно дал ссылку, но боюсь что я не выложу сайт пока он не будет готов хотя бы на 90%! но если нужен скрипт то вот он пожалста (только не смейтесь!!!)

</script>
<br><br> 
<div id=time style="font-size:24;"></div> 
<script> DD=0; 
onload=function(){Dphp=(new Date()).getTime()+5*1000; 
       dKlientM=(new Date()).getTimezoneOffset(); 
   ww1=setInterval(clock1,999);clock1(); 
  f2=genRandomNum(); 
    } 
function clock1(){var D; 
    document.getElementById('time').innerHTML= 
    (D=new Date(Dphp-(new Date()).getTime()+dKlientM*60000)).getHours()+':' 
    +(D.getMinutes()/100).toFixed(2).substr(2)+':'+(D.getSeconds()/100).toFixed(2).substr(2); 
if(D.getTime()-dKlientM*60000<0){genRandomNum();clearInterval(ww1);}} 
<!--
function genRandomNum(objekt,field,field2) {
var D = new Date;
var Num1 = Math.round ( Math.random()* 32 );
var Num2 = Math.round ( Math.abs ( Math.sin ( D.getTime () ) ) * 32 );
document.forms[objekt].elements[field].value = Num1;
document.forms[objekt].elements[field2].value = Num2;
}
//-->
                        </SCRIPT>

            <BODY text=#808080 vLink=#c0c0c0 aLink=#ffffff link=#ffffff bgColor=#000000 
leftMargin=0 topMargin=2>
            <TABLE cellSpacing=0 width=300 border="1" bordercolordark="black" bordercolorlight="black" align="center">
                <FORM name=Myform>
                <TBODY>
                <TR>
                    <TH class=1>
                        <p align="center"><font color="white">Number generator</font></p>
                    </TH>
                </TR>
    <TR>
        <TH class=2>
            <p align="center">1 : <INPUT class=samp size=10 name=samp1><BR>2 : <INPUT 
      class=samp size=10 name=samp2></p>
        </TH>
    </TR>
                </TBODY>
            </TABLE>
    <p align="center"></FORM>

<p>&nbsp;</p>


Скрипт на странице находится мкежду <body>....<p>&nbsp;</p><body> (чисто на всякий случай)
Да и кстати если разобраться с этими скриптами то сайт будет готов процентов на 79,99% :)
СПАСИБО за то что помогаете!!!!

   
 
 автор: 12345   (11.03.2006 в 03:18)   письмо автору
 
   для: bad_lag   (11.03.2006 в 00:20)
 

Ну правильно он говорит об ошибке - if(D.getTime()-dKlientM*60000<0){genRandomNum();... вызван без параметров, поэтому objekt есть null . Как вы думаете, к какой форме Вы обратитесь при вызове document.forms[null] ?

   
 
 автор: bad_lag   (12.03.2006 в 04:58)   письмо автору
 
   для: 12345   (11.03.2006 в 03:18)
 

Я конечно извиняюсь, но можно вас попросить исправит ошибки в этом скрипте, что бы я от вас отстал и вообще не отнимал вашего драгоценнейшего времени. Ну или просто дать ссылку на сайт где такой скрипт уже работает.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования