Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вечный таймер (https://javascript.ru/forum/misc/58759-vechnyjj-tajjmer.html)

Untropee 09.10.2015 02:29

Вечный таймер
 
Приветствую! Приспособил себе скрипт таймера:

timer ()
				function timer () {
				
				$.get('script.php', "time_energy_check="+user_id, function (data) {
				
					var data = jQuery.parseJSON(data);
				
					if (data.energy < 20) {
					
						var remain_bv = 5;
						function parseTime_bv(timestamp){
							if (timestamp < 0) timestamp = 0;
						 
							var hour = Math.floor(timestamp/60/60);
							var mins = Math.floor((timestamp - hour*60*60)/60);
							var secs = Math.floor(timestamp - hour*60*60 - mins*60); 
							var left_hour = Math.floor( (timestamp - 24*60*60) / 60 / 60 );
						 
							if(String(mins).length > 1)
								$('span.afss_mins_bv').text(mins);
							else
								$('span.afss_mins_bv').text("0" + mins);
							if(String(secs).length > 1)
								$('span.afss_secs_bv').text(secs);
							else
								$('span.afss_secs_bv').text("0" + secs);
						
							 
						}
						
								
					}
				
				});
				};


Здесь он отсчитывает 5 секунд. Как, после завершения таймера (5 секунд) запустить его снова, чтобы он опять отбил свои 5 секунд, чтобы запускался снова и так до бесконечности? setInterval и setTimeout пробовал, вроде не получилось(

рони 09.10.2015 08:25

Цитата:

Сообщение от Untropee
Здесь он отсчитывает 5 секунд

интересно как?

kach 09.10.2015 09:05

Untropee,
Думаю тебе необходимо почитать про setInterval и setTimeout. Если ты будешь использовать их по уму, то тебе не придется столько кода писать для отсчета 5 секунд.

Untropee 09.10.2015 13:57

Какой ты умный. Сейчас выставлено 5 секунд для примера, чтобы не ждать. Таймер будет в реальном действии каждой раз на 20 минут

рони 09.10.2015 14:05

Untropee,
пока непонятно как у вас таймер работает

Untropee 09.10.2015 14:39

Таймер начинается с 10 строки. Таймер не мой, но работает прекрасно, в зависимости от выставленных секунд в переменную remain_bv.

рони 09.10.2015 15:13

Цитата:

Сообщение от Untropee
но работает прекрасно

видимо вы что-то не договариваите - в коде есть вывод времени, но нет таймера.

Untropee 09.10.2015 15:23

Цитата:

Сообщение от рони (Сообщение 391373)
видимо вы что-то не договариваите - в коде есть вывод времени, но нет таймера.

Не знаю, у меня работает) Тикают секунды, заканчиваются и всё. Цикл нужно сделать(

рони 09.10.2015 15:28

Цитата:

Сообщение от Untropee
Не знаю, у меня работает)

абалдеть :cray:

Untropee 09.10.2015 15:53

Цитата:

Сообщение от рони (Сообщение 391375)
абалдеть :cray:

Вот, пожалуйста исходная ссылка на таймер (вариант 2) - http://yournet.kz/blog/js/tajmer-obr...ota-v-sekundax

Ах да) Извиняюсь, забыл показать ежесекундный запуск скрипта)

$(document).ready(function(){
							setInterval(function(){
								remain_bv = remain_bv - 1;
								parseTime_bv(remain_bv);
								if(remain_bv <= 0){
									timer ();
								}
							}, 1000);
						});


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