Показать сообщение отдельно
  #7 (permalink)  
Старый 13.12.2011, 14:42
Интересующийся
Отправить личное сообщение для kuzkuz Посмотреть профиль Найти все сообщения от kuzkuz
 
Регистрация: 22.10.2011
Сообщений: 23

Сообщение от Livanderiaamarum Посмотреть сообщение
СУТЬ ТАКОВА)!
есть обьект 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() // запуск с приостановленного места






function timer(_time, _call){
			timer.lastCall = _call
			timer.lastTime = _time
			timer.timerInterval = setInterval(function(){
						_call(_time[0],_time[1],_time[2]);
						_time[2]--
						if(_time[0]==0 && _time[1]==0 && _time[2]==0){
									timer.pause()
									_call(0,0,0);
						}
						if(_time[2]==0){
									_time[2] = 59
									_time[1]--
									if(_time[1]==0){
												_time[1] = 59
												_time[0]--
									}
						}
						timer.lastTime = _time
			}, 1000)
}
timer.pause = function(){
			clearInterval(timer.timerInterval)
}
timer.start = function(){
			timer(timer.lastTime, timer.lastCall)
}

//сверху мое, а тут уже ваше)
//тут мы начинаем таймер. передаем массив с временем и функцию которая будет вызываться каждую секунду
timer([0,0,7], function(h,m,s){
			alert(h + ':' +m + ':' +s) // алертнуть часы минуты и секунды
})

timer.pause()
timer.start()
Отлично, спасибо ОГРОМНОЕ, в принципе все понятно!
Чтобы вывести время например в <input> Что мне необходимо сделать(ну или в div)

Для вывзова функции остановки и запуска таймера мне достаточно в свойстве кнопки указать <input onclick="timer.pause()" type="button" /> ?
Ответить с цитированием