Задать вопрос
@DeboshiR
Свободу разработчикам!!!

Как сделать «однократное» срабатывание события wheel?

Начну сразу с кода:
var n = 0;
$('.content').on('wheel', function(e) {
    e = e || window.event;      
    var delta = e.deltaY || e.detail || e.wheelDelta;
    n += delta;
    console.log('scroll');
});

Такой код может вывести сообщение "scroll" несколько раз. Можно ли как-то отключить событие на некоторое время?
  • Вопрос задан
  • 169 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Веб-разработчик
    12 месяцев
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
Griboks
@Griboks
Читайте документацию. On подписывает на все события в будущем все элементы. А вам надо использовать once, если я правильно помню.
Ответ написан
Комментировать
JackShcherbakov
@JackShcherbakov
Первое, что в голову пришло )
var count = 0;
var n = 0;
$('.content').on('wheel', function(e) {

    e = e || window.event;      
    var delta = e.deltaY || e.detail || e.wheelDelta;
    n += delta;
if(count == 0){
    console.log('scroll');
}
count++;
});
Ответ написан
Комментировать
Гуглите понятия Debounce или Throtle, не обязательно из lodash, они самостоятельно пишутся в пару строк кода.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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