Показать сообщение отдельно
  #3 (permalink)  
Старый 12.05.2013, 07:05
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Таймер так и делается, там всё просто:
var timeout;
function timer(){
    //действия
    timeout = setTimeout(timer, 1000);
}

//запуск
timer();

//остановка
clearTimeout(timeout);


С clearTimeout'ом ничего проскочить нельзя, т.к. если clearTimeout произведён то никаких вызовов точно не будет. Главное правило чтоб не накосячить - одновременно на одну задачу должен существовать только один таймер, следующий не должен вызываться пока предыдущий не закончится.
А вот как раз таки setInterval использовать не рекомендуется(только в особых случаях), т.к. он имеет свойство в случае лагов накапливаться, и может случиться так, что он уже очищен, а функция продолжает вызываться.)
__________________
29375, 35

Последний раз редактировалось Aetae, 12.05.2013 в 07:14.
Ответить с цитированием