Задержка JavaScript
Я новичок в этом отделе, поэтому мне было интересно, могу ли я сделать тип заявления с задержкой? Пример: если определенное действие (возможно, событие щелчка) выполняется в течение определенного периода времени, время сбрасывается, а если нет, вызывается функция.
1 ответ
Вы не можете сделать это с if
Скажите, но вы можете с setTimeout
а также clearTimeout
,
Вот пример того, как вы можете сделать функцию (console.log
заявление) запускайте каждые 2 секунды, пока вы не нажмете кнопку. Нажатие кнопки сбрасывает таймер, так что потребуется еще 2 секунды, прежде чем он снова начнет регистрировать. Вы можете приспособить это, чтобы соответствовать любой фактической работе, в которой Вы нуждаетесь, чтобы случиться.
var currentTimeoutId;
function resetTimeout() {
clearTimeout(currentTimeoutId);
currentTimeoutId = setTimeout(function() {
console.log('Too Late!');
resetTimeout();
}, 2000);
}
resetTimeout();
document.getElementById('demo').onclick = function() {
resetTimeout();
};
<button id="demo">Click Me Or Else I'll Log Something!</button>