Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скрипт обратного отсчета времени (https://javascript.ru/forum/misc/34303-skript-obratnogo-otscheta-vremeni.html)

Extremal1989 28.12.2012 15:46

Скрипт обратного отсчета времени
 
Добрый вечер.
Есть скрипт для отсчета обратного времени.
Нужно сделать так, чтобы скрипт снова начинал отсчет обратного времени после его завершения. Помогите пожалуйста справиться с данной задачей.

<script language="javascript" type="text/javascript"> 
$(document).ready(function(){
    setInterval(function(){
        var now = new Date(); 
       var endTS = 1355391990*1000;
        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"+RemainsFullHours}; 
            var secInLastHour=secInLastDay-RemainsFullHours*3600; 
            var RemainsMinutes=(parseInt(secInLastHour/60)); 
            if (RemainsMinutes<10){RemainsMinutes="0"+RemainsMinutes}; 
            var lastSec=secInLastHour-RemainsMinutes*60; 
            if (lastSec<10){lastSec="0"+lastSec}; 
            $('.timer>.digits').html((RemainsFullDays ? "<span>"+RemainsFullDays+"дн.</span> " :"")+RemainsFullHours+":"+RemainsMinutes+":"+lastSec);
        } 
        else {$(".timer").remove();} 
    },1000);
});
</script>

ОлегА 28.12.2012 16:07

Может быть поможет, попробуйте

<script language="javascript" type="text/javascript"> 
$(document).ready(function(){

function timer(){
    var intervalid = setInterval(function(){
        var now = new Date(); 
       var endTS = 1355391990*1000;
        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"+RemainsFullHours}; 
            var secInLastHour=secInLastDay-RemainsFullHours*3600; 
            var RemainsMinutes=(parseInt(secInLastHour/60)); 
            if (RemainsMinutes<10){RemainsMinutes="0"+RemainsMinutes}; 
            var lastSec=secInLastHour-RemainsMinutes*60; 
            if (lastSec<10){lastSec="0"+lastSec}; 
            $('.timer>.digits').html((RemainsFullDays ? "<span>"+RemainsFullDays+"дн.</span> " :"")+RemainsFullHours+":"+RemainsMinutes+":"+lastSec);
        } 
        else { clearInterval(intervalid); timer(); } 
    },1000);
}

timer();

});
</script>

godofjavascript 28.12.2012 18:05

Цитата:

Сообщение от Дзен-трансгуманист
У меня какое-то странное ощущение дежавю.))

слушай да они издеваются)) давайте напишем скрипт и добавим его в фак))

Extremal1989 28.12.2012 20:33

Вы о чем это,дорогие форумчяне?

Extremal1989 28.12.2012 20:35

Цитата:

Сообщение от ОлегА (Сообщение 224066)
Может быть поможет, попробуйте

<script language="javascript" type="text/javascript"> 
$(document).ready(function(){

function timer(){
    var intervalid = setInterval(function(){
        var now = new Date(); 
       var endTS = 1355391990*1000;
        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"+RemainsFullHours}; 
            var secInLastHour=secInLastDay-RemainsFullHours*3600; 
            var RemainsMinutes=(parseInt(secInLastHour/60)); 
            if (RemainsMinutes<10){RemainsMinutes="0"+RemainsMinutes}; 
            var lastSec=secInLastHour-RemainsMinutes*60; 
            if (lastSec<10){lastSec="0"+lastSec}; 
            $('.timer>.digits').html((RemainsFullDays ? "<span>"+RemainsFullDays+"дн.</span> " :"")+RemainsFullHours+":"+RemainsMinutes+":"+lastSec);
        } 
        else { clearInterval(intervalid); timer(); } 
    },1000);
}

timer();

});
</script>

К сожалению,не сработало. Время заканчивается и скрипт не возобновляет снова время.

godofjavascript 28.12.2012 22:14

Давай, добавлю просто виджет <clock> аа в его параметрах можно будет указвать режимы таймер там или еще что)) круто да) сделаю, годно.

Extremal1989 29.12.2012 04:30

Сделайте пожалуйста.Буду Вам очень признателен.

Extremal1989 29.12.2012 04:32

Цитата:

Сообщение от Дзен-трансгуманист (Сообщение 224087)
Вот эти строчки смущают меня до глубины души.

Какие-то непонятные цифиря...
А totalRemains изначально уже меньше единицы.
alert(1355391990*1000 - new Date());

Вся загвоздка у меня и заключается в этом. Не могу понять,как изменять var endTS и как сделать его автоматически возобновляющимся через 24 часа.

godofjavascript 29.12.2012 05:26

менять значение переменной можно так
endTS = 11;
alert(endTS)

endTS = 25;
alert(endTS)

godofjavascript 29.12.2012 05:27

чувак давай я те просто обратный таймер напишу нормальный? или те именно этот надо?


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