Книга: Выразительный JavaScript
Установка таймеров
Установка таймеров
Функция setTimeout
схожа с requestAnimationFrame
. Она планирует запуск другой функции в будущем. Но вместо вызова функции при следующей перерисовке страницы, она ждёт заданное в миллисекундах время. Эта страница через две секунды превращается из синей в жёлтую:
<script>
document.body.style.background = "blue";
setTimeout(function() {
document.body.style.background = "yellow";
}, 2000);
</script>
Иногда вам надо отменить запланированную функцию. Это можно сделать, сохранив значение, возвращаемое setTimeout
, и затем вызвав с ним clearTimeout
.
var bombTimer = setTimeout(function() {
console.log("BOOM!");
}, 500);
if (Math.random() < 0.5) { // 50% chance
console.log("Defused.");
clearTimeout(bombTimer);
}
Функция cancelAnimationFrame
работает так же, как clearTimeout
– вызов её со значением, возвращённым requestAnimationFrame
, отменит этот кадр (если он уже не был вызван).
Похожий набор функций, setInterval
и clearInterval
используется для установки таймеров, которые будут повторяться каждые X миллисекунд.
var ticks = 0;
var clock = setInterval(function() {
console.log("tick", ticks++);
if (ticks == 10) {
clearInterval(clock);
console.log("stop.");
}
}, 200);
- Обработчики событий
- События и узлы DOM
- Объекты событий
- Распространение (propagation)
- Действия по умолчанию
- События от кнопок клавиатуры
- Кнопки мыши
- Движение мыши
- События прокрутки
- События, связанные с фокусом
- Событие загрузки
- График выполнения скрипта
- Установка таймеров
- Устранение помех (debouncing)
- Итог
- Упражнения
- 12.8.6. Int 1Ah и Int 15h — поддержка таймеров
- Расширенная установка InterBase-сервера
- Установка системы на уже подготовленный жесткий диск
- Установка файлов занятий
- 2 Установка системы
- Глава 4. Установка и конфигурирование сетевых интерфесов
- Часть III Установка, настройка и оптимизация операционной системы
- Демонтаж и установка МП
- Установка
- Установка пароля
- Установка ЦП
- Извлечение и установка модулей памяти