Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Минутные счетчики с корректным временем 
:(
    Опции темы
ksnk
Дата 11.2.2013, 11:43 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 2
Всего: 386



На сайтах часто встречаются разные счетчики, которые показывают  какое-то там время, оставшееся до очередной даты. Все в них достаточно очевидно, кроме того, что они, как правило, просто поставлены на интервал тикают как получится, а не точно в 00 секунд каждой минуты. Чтобы получить иллюзию корректности счетчика, его выставляют часто, чуть ли не каждую секунду.

Мне захотелось получить счетчик, который "тикал" бы именно в 0 секунд каждой минуты, при этом  вызываясь не чаще ( за исключением старта ;) ) раза в минуту. Вот рецепт:

Код

//эта функция будет вызываться каждую минуту
function calc () {
    var now = new Date(),
...
// тут делается то, что положено делать раз в минуту
...
//коррекция таймаута
    var sec=now.getSeconds();
    if(sec>2 && sec <58) { // при перекосе времени на 2 секунды - корректируем таймаут.
         if(calc.interval)clearInterval(calc.interval);
        calc.interval=0;
        setTimeout(calc,1000*(60-now.getSeconds()));
    } else if(!calc.interval){
        calc.interval=setInterval(calc,60000);
    }
}

calc(); // стартуем функцию первый раз


 calc.interval здесь используется, чтобы не генерировать очередную глобальную переменную.

Это сообщение отредактировал(а) ksnk - 11.2.2013, 11:46


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Здесь публикуют скрипты, которые уже проверены в обсуждениях других тем (при этом полезно поставить ссылки на все смежные обсуждения) или переносятся кем-либо из модераторов по просьбе участников, если видно, что в результате обсуждения темы был написан полезный или интересный скрипт. Третий возможный вариант - участник форума публикует скрипт, заведомо известный как полезный и эффективный, для, возможно, небольшой доработки и обсуждения.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Наши скрипты | Следующая тема »


 




[ Время генерации скрипта: 0.1418 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.