Запущен ли таймер
Есть ли в 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(<номер>)? |
На сайте одни тупаки
|
Roman111, так как ты хочешь - не получится сделать.
Как вариант, создай булеву переменную, пиши в неё true когда запускаешь таймер, а когда останавливаешь таймер, то присваивай false. А вообще, просто обнуляй переменные таймера:
T1 = setInterval(function() {}, 1000);
//...
clearInterval(T1);
T1 = null;
//...
if(T1) {
//есть таймер
}
else {
//нет таймера
}
|
Та все получится. От например как я сделал
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();
}
Просто думал, может есть не такой кривой способ |
| Часовой пояс GMT +3, время: 19:49. |