Задержка в JavaScript после выполнения - PullRequest
0 голосов
/ 05 июля 2018
document.addEventListener("wheel",changeTopicBackground);

function changeTopicBackground(){
    if(document.getElementById("topicBackground").style.getPropertyValue("background-image")===`url("yy.jpg")`){
        document.getElementById("topicBackground").style.backgroundImage = "url('firstDevil.png')";
    }
    else{
        document.getElementById("topicBackground").style.backgroundImage = "url('yy.jpg')";
    }
}

Я также попробовал setTimeout () и setInterval (), но если я использую setTimeout внутри функции, то через это время он выполнит блок внутри функции ... и setInterval повторится, что не желательно.

Вопрос: Как я могу прекратить прием прослушивателя событий колеса на 1 секунду после выполнения кода внутри функции?

1 Ответ

0 голосов
/ 05 июля 2018

Вы можете удалить слушателя, когда функция сработает, и использовать setTimeout, чтобы восстановить его через одну секунду:

document.addEventListener("wheel", changeTopicBackground);

function changeTopicBackground() {
  console.log("wheeled!")
  document.removeEventListener("wheel", changeTopicBackground)
  setTimeout(() => document.addEventListener("wheel", changeTopicBackground), 1000)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...