@Dias747
Студент который мечтают стат программистом

Как сделать чтобы события обработался в секунду один раз?

const box = document.querySelector('.box');

box.addEventListener('wheel', (e) => {
  console.log(e.deltaY);
});


Хотелось бы чтобы при прокрутке колесика мышки console.log срабатывал 1раз в секунду.
  • Вопрос задан
  • 90 просмотров
Пригласить эксперта
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
Это делается достаточно просто, если уметь работать с промисами, обработчиками событий и циклами:
(async function() {

    while (true) {

        await new Promise(function(s) { document.addEventListener('scroll', s, { 'once': true }); });
    
        console.log('Зафиксирован скрол страницы, ждем секунду перед следующий фиксацией...');
    
        await new Promise(function(s) { setTimeout(s, 1000); });
    
    }

})();
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы