Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.06.2015, 22:49
Новичок на форуме
Отправить личное сообщение для Roman111 Посмотреть профиль Найти все сообщения от Roman111
 
Регистрация: 17.01.2015
Сообщений: 3

Запущен ли таймер
Есть ли в js возможность проверить запущен ли таймер?

Например вот код:
var T1 = 0;
var T2 = 0;

$(function() {
	T1 = setInterval(timer1, 1000);
	T2 = setInterval(timer2, 1000);
});

function timers_protection () {
	if (!T1) {
		T1 = setInterval(timer1, 1000);
	}
	if (!T2) {
		T2 = setInterval(timer2, 1000);
	}
}

function timer1 () {
	console.log('timer1');
}

function timer2 () {
	console.log('timer2');
}


функция timers_protection будет проверять запущены ли таймер1 и таймер2. Но как проверить работает ли таймер, если в консоли браузера прописать его остановку методом
clearInterval(<номер>)
?
Ответить с цитированием
  #2 (permalink)  
Старый 29.06.2015, 16:33
Новичок на форуме
Отправить личное сообщение для Roman111 Посмотреть профиль Найти все сообщения от Roman111
 
Регистрация: 17.01.2015
Сообщений: 3

На сайте одни тупаки
Ответить с цитированием
  #3 (permalink)  
Старый 29.06.2015, 17:47
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Roman111, так как ты хочешь - не получится сделать.

Как вариант, создай булеву переменную, пиши в неё true когда запускаешь таймер, а когда останавливаешь таймер, то присваивай false.

А вообще, просто обнуляй переменные таймера:

T1 = setInterval(function() {}, 1000);

//...
clearInterval(T1);
T1 = null;

//...

if(T1) {
   //есть таймер
}
else {
   //нет таймера
}

Последний раз редактировалось ruslan_mart, 29.06.2015 в 17:49.
Ответить с цитированием
  #4 (permalink)  
Старый 01.07.2015, 12:28
Новичок на форуме
Отправить личное сообщение для Roman111 Посмотреть профиль Найти все сообщения от Roman111
 
Регистрация: 17.01.2015
Сообщений: 3

Та все получится. От например как я сделал

var time = 0;

timer1();
setInterval(timer1, 500);
setInterval(timers_protection, 500);

function timer1 () {
	time = getSeconds();
	console.log('timer1');
}

function timers_protection () {
	if (getSeconds() - time > 1) {
		timer1();
		setInterval(timer1, 500);
	}
}

function getSeconds() {
	var now = new Date();
	return now.getSeconds();
}


Просто думал, может есть не такой кривой способ
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
помогите чтобы таймер тикал Руслан904322 Общие вопросы Javascript 1 22.02.2015 12:43
Обновляемый таймер на javascript smillyhamster Общие вопросы Javascript 1 31.12.2013 10:30
Таймер обратного отсчёта useruser Элементы интерфейса 5 04.11.2013 07:29
Таймер обратного отчёта с выполнение по времени xakerd Элементы интерфейса 1 20.03.2013 00:10
Зацикленный таймер jacko Общие вопросы Javascript 2 01.07.2012 14:32