Таймер с обратным отчетом "3 дня <br + 11.03.60>"

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Ответить
Feniks000
Сообщения: 51
Зарегистрирован: 08 май 2013, 01:27

Таймер с обратным отчетом "3 дня <br + 11.03.60>"

Сообщение Feniks000 »

Добрый вечер.

Как замутить такой таймер?? В инете ,только шаблоны с циферблатами, картинками... Мне не нужны навороты, а чисто:

Код: Выделить всё

Сколько дней осталось.Сколько часов осталось.  
Пример как у кинопоиска:

Изображение

Когда то лазил в их код, так и ничего не нашел. Видимо на php сделали,а нужный код php не отображается в исходнике.
IndieGD
Сообщения: 124
Зарегистрирован: 28 май 2013, 19:20

Re: Таймер с обратным отчетом "3 дня <br + 11.03.60>"

Сообщение IndieGD »

Отсчет то от чего и до чего. У каждого пользователя свой или один на всех. Непонятно же ничего из вашего поста)
IndieGD
Сообщения: 124
Зарегистрирован: 28 май 2013, 19:20

Re: Таймер с обратным отчетом "3 дня <br + 11.03.60>"

Сообщение IndieGD »

Вообще если один на всех то как-то так:

Код: Выделить всё

<div id="timer"></div><script type="text/javascript">    var end = new Date(2014,11,31,23,0,0).getTime()/1000;    var current = end - new Date().getTime()/1000;    var days = Math.floor(current/86400);    current -= days*86400;    var hours = Math.floor(current/3600);    current -= hours * 3600;    var minutes = Math.floor(current/60);    current -= minutes * 60;    var seconds = current;    document.getElementById("timer").innerHTML = 'Осталось '+days+' дней<br>'+ hours + ':' + minutes + ':' + seconds;    var intervalID = setInterval(function miniTimer(){        if(--seconds < 0){            seconds=59;            if(--minutes < 0){                minutes = 59;                if(--hours < 0) {                    hours = 23;                    if(--days < 0){                        seconds = minutes = hours = days = 0;                        clearInterval(intervalID);                    }                }            }        }        document.getElementById("timer").innerHTML = 'Осталось '+days+' дней<br>'+ hours + ':' + minutes + ':' + seconds;    }, 1000);</script>
Где

Код: Выделить всё

var end = new Date(2014,11,31,23,0,0).getTime()/1000;//Дата окончания в формате год(ГГГГ),месяц(0-11),день(1-31),час(0-23),минута(0-59),секунда(0-59)//Здесь в примере 31 декабря 2014 года 23:00:00
Правда есть одно Но. Скрипт берет текущее время с машины пользователя, то есть будет работать в его часовом поясе, а не вашем. Я к тому, что ракеты запускать по расписанию, он не годится, надо будет заюзать метод utils.getServerTime и всех по вконтактовскому серваку выровнять. Но какую-нить дату наступления нового года наоборот таким макаром считать лучше)
IndieGD
Сообщения: 124
Зарегистрирован: 28 май 2013, 19:20

Re: Таймер с обратным отчетом "3 дня <br + 11.03.60>"

Сообщение IndieGD »

Сорри забыл миллисекунды округлить)))) Вот так верно:

Код: Выделить всё

    <div id="timer"></div>    <script type="text/javascript">        var end = Math.ceil(new Date(2014,11,31,23,0,0).getTime()/1000);        var current = end - Math.ceil(new Date().getTime()/1000);        var days = Math.floor(current/86400);        current -= days*86400;        var hours = Math.floor(current/3600);        current -= hours * 3600;        var minutes = Math.floor(current/60);        current -= minutes * 60;        var seconds = current;        document.getElementById("timer").innerHTML = 'Осталось '+days+' дней<br>'+ hours + ':' + minutes + ':' + seconds;        var intervalID = setInterval(function miniTimer(){            if(--seconds < 0){                seconds=59;                if(--minutes < 0){                    minutes = 59;                    if(--hours < 0) {                        hours = 23;                        if(--days < 0){                            seconds = minutes = hours = days = 0;                            clearInterval(intervalID);                        }                    }                }            }            document.getElementById("timer").innerHTML = 'Осталось '+days+' дней<br>'+ hours + ':' + minutes + ':' + seconds;        }, 1000);    </script>
Feniks000
Сообщения: 51
Зарегистрирован: 08 май 2013, 01:27

Re: Таймер с обратным отчетом "3 дня <br + 11.03.60>"

Сообщение Feniks000 »

Большое спасибо.

Кинопоиск вроде популярный сайт, неужели не знаете про такой?? О_о Если все хорошо, то отблагодарю. Пока на работе(
Ответить