@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" несколько раз. Можно ли как-то отключить событие на некоторое время?
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 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, они самостоятельно пишутся в пару строк кода.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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