Задержка 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>

Другие вопросы по тегам