Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: PHP+JS отсчёт времени до события.
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Своял скрипт отсчитывающий время до события. Проблема в следующем:
1. Когда остаётся 0 часов /дней /минут /секунд, скрипт выводит нулевое значение (пример 0дней 0 часов 3 минуты),
2. Если время до точки отсчёта закончилось, скрипт всё равно будет выводить отсчёт времени "в минус" (пример: -1 undefined 2 часа 3 минуты), и только после обновления страницы покажет в месте счётчика текст "Событие состоялось".
Если есть люди, разбирающиеся в JS, прошу помочь исправить скрипт.
/* конечная точка отсчёта в моём варианте берётся из бд. формат datetime, для проверки скрипта можно пользать строку $share_main['share_endtime']="2010-12-29 12:12:00"; */
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Zuldek Для осуществления внедрения предполагаемой вами функциональности в приведенный JS-скрипт необходимо произвести добавление дополнительных условий текущего состояния времени - в частности если некоторая указанная величина равна нулю и все элементы времени предствяющие большие составляющие последовательно равны нулю - то указання часть целевой строки в левую сторону может быт отсечена - а для проверки отрицательного времени достаточно использования сравнения разности timespamp-объектов Кроме того в качестве дополнительного условия коррекции JS-скрипта - целесообразно использование локальных переменных в функциях заместо включей глобального ассоциативного массива
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Zuldek
Отправлено: 24 Декабря, 2010 - 14:32:18
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
JustUserR пишет:
Zuldek Для осуществления внедрения предполагаемой вами функциональности в приведенный JS-скрипт необходимо произвести добавление дополнительных условий текущего состояния времени - в частности если некоторая указанная величина равна нулю и все элементы времени предствяющие большие составляющие последовательно равны нулю - то указання часть целевой строки в левую сторону может быт отсечена - а для проверки отрицательного времени достаточно использования сравнения разности timespamp-объектов Кроме того в качестве дополнительного условия коррекции JS-скрипта - целесообразно использование локальных переменных в функциях заместо включей глобального ассоциативного массива
Спасибо, в общем-то и было понятно что необходима дополнительная проверка по таймауту выполнения основной фугкции вывода счётчика, равен ли отдин из параметров 0, если равен, то выводить "".. вопрос именно в синтаксическом оформлении этого в JS.
в JS просто не силён, и сколько правил, вставляя условные выражения, не получалось
JustUserR
Отправлено: 24 Декабря, 2010 - 14:50:57
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Zuldek пишет:
Спасибо, в общем-то и было понятно что необходима дополнительная проверка по таймауту выполнения основной фугкции вывода счётчика, равен ли отдин из параметров 0, если равен, то выводить "".. вопрос именно в синтаксическом оформлении этого в JS. в JS просто не силён, и сколько правил, вставляя условные выражения, не получалось
Пожалуйста! В качестве модифицированного варината предполагаемого вами JS-скрипта осуществляющего требуемые элементы отсчета времени - возможно использование следующего листинга
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Zuldek
Отправлено: 25 Декабря, 2010 - 18:58:38
Постоянный участник
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Прошу прощение, что с задержкой. Just большое спасибо, немного поправил скрипт в сторону твоего листинга и получилось сделать то что хотел. Разве что один неприятный момент, функция Get(), которая выводит текст в случае "ухода" времени в отрицательное значение вызывается по твоему листингу, как и у меня, в теле функции CountDown, которая выполняется в моём коде по Settimeout 1000 мc, (у тебя, - CountDows() ).
Причём у неё (функция Get() ) стоит Settimeout выполнения (в твоём листинге 30 мс). Вот из-за этих двух условий и таймаутов получается что текст выводимый Get(), как бы "мигает" (функция постоянно выполняется).
Я правильно понимаю, что требуется условие проверки значения времени и вызов Get() до вызова функции CountDown () ?
Фортис
Отправлено: 25 Декабря, 2010 - 23:04:42
Новичок
Покинул форум
Сообщений всего: 1
Дата рег-ции: Дек. 2010
Помог: 0 раз(а)
я бы, вообще говоря, сделал отдельно запуск события и отдельно отсчет.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.