Как сделать часы наоборот?Т.е админ например включает вывод таймера,и например вверху сайта идет обратный отсчет типа 05:49:17
есть обьект timer в него передается 2 аргумента
1) время которое нужно отсчитывать
2) функция которая будет выполняться каждую секунду
timer(время, функция);
время передается массивом, часы минуты секунды
[1,15, 42] 1 час 15 минут 42 секунды.
[0,0,10] 0 часов 0 минут 10 секунд.
timer([0,0,10], функция)
в нашу функцию будут передаваться 3 параметра, часы минуты и секунды обратного отсчета. и их можно естественно использовать внутри её.
то есть нужно писать так
timer([0,0,10] , function(часы, минуты, секунды) { alert(часы) } )
обьект timer имеет методы pause() и start()
просто нужно написать
timer.pause() // приостановка
timer.start() // запуск с приостановленного места
показать чистый исходник в новом окне
Скрыть/показать номера строк
печать кода с сохранением подсветки
01 function timer(_time, _call){
02 timer.lastCall = _call
03 timer.lastTime = _time
04 timer.timerInterval = setInterval(function(){
05 _call(_time[0],_time[1],_time[2]);
06 _time[2]--
07 if(_time[0]==0 && _time[1]==0 && _time[2]==0){
08 timer.pause()
09 _call(0,0,0);
10 }
11 if(_time[2]==0){
12 _time[2] = 59
13 _time[1]--
14 if(_time[1]==0){
15 _time[1] = 59
16 _time[0]--
17 }
18 }
19 timer.lastTime = _time
20 }, 1000)
21 }
22 timer.pause = function(){
23 clearInterval(timer.timerInterval)
24 }
25 timer.start = function(){
26 timer(timer.lastTime, timer.lastCall)
27 }
28
29 //сверху мое, а тут уже ваше)
30 //тут мы начинаем таймер. передаем массив с временем и функцию которая будет вызываться каждую секунду
31 timer([0,0,7], function(h,m,s){
32 alert(h + \':\' +m + \':\' +s) // алертнуть часы минуты и секунды
33 })
34
35 timer.pause()
36 timer.start()