Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Счетчик обратного отсчета с ежедневным рестартом (https://javascript.ru/forum/misc/43131-schetchik-obratnogo-otscheta-s-ezhednevnym-restartom.html)

Илья1982 23.11.2013 18:25

Счетчик обратного отсчета с ежедневным рестартом
 
Доброго всем!

Притомил поиск в интернете, дума, а можно ли вообще сделать такой скрипт.

Нужен счетчик который показывал бы обратный отсчет времени (часы, минуты, секунды) и ежедневно заводился бы заново. Везде натыкаюсь только на одноразовые счетчики, которые умирают дойдя до времени X.

ksa 23.11.2013 20:34

Цитата:

Сообщение от Илья1982
Везде натыкаюсь только на одноразовые счетчики, которые умирают дойдя до времени X.

Напиши гневное письмо тем авторам - пусть срочно переделывают! :D

aleks_lv 23.11.2013 22:11

http://aleks.hol.es/countbox/
обновляется 00,00
скопировать сумеете

Илья1982 24.11.2013 12:24

Взял из вашего скрипта идею и допилил один из счетчиков найденных ранее, скорее всего косячно, но вариантов лучше не нашел


$(document).ready(function(){
function timer(y, m, d, H, i, s){
var finishday = new Date(y, m, d, H, i, s);
endTS = finishday.getTime();
var intervalid = setInterval(function(){
var now = new Date();
var totalRemains = (endTS - now.getTime());
if (totalRemains>1){
var RemainsSec=(parseInt(totalRemains/1000));
var RemainsFullDays=(parseInt(RemainsSec/(24*60*60)));
var secInLastDay=RemainsSec-RemainsFullDays*24*3600;
var RemainsFullHours=(parseInt(secInLastDay/3600));
if (RemainsFullHours<10){RemainsFullHours="0"+Remains FullHours};
var secInLastHour=secInLastDay-RemainsFullHours*3600;
var RemainsMinutes=(parseInt(secInLastHour/60));
if (RemainsMinutes<10){RemainsMinutes="0"+RemainsMinu tes};
var lastSec=secInLastHour-RemainsMinutes*60;
if (lastSec<10){lastSec="0"+lastSec};
$('.timer').html((RemainsFullDays ? "<span>"+RemainsFullDays+"дн.</span> " :"")+RemainsFullHours+":"+RemainsMinutes+":"+lastS ec);
}
else { clearInterval(intervalid);
var dateNow = new Date();
var year=dateNow.getFullYear(),
month=dateNow.getMonth(),
day=dateNow.getDate();
timer(year, month, day, 23, 59, 59); }
},1000);
}
timer(2013, 09, 24, 1, 0, 0);
});


Часовой пояс GMT +3, время: 16:11.