У меня есть карусель, для которой я использую событие mousewheel DOMMouseScroll
, чтобы переместить ее с помощью колеса мыши, я использую следующее условие для определения, перемещается ли колесо вверх или вниз.
event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0
Это работает хорошоно когда я быстро перемещаю колесико мыши, событие происходит много раз, и карусель прослушивается.
Как можно каким-то образом заблокировать событие, когда заканчивается анимация моей карусели?Или определите, что событие может выполняться только каждые 2 секунды или что-то похожее.
Это полный код события, которое я вызываю.
$(document).on('mousewheel DOMMouseScroll', "#"+id+" .element", function(event){
event.preventDefault();
if (event.originalEvent.wheelDelta > 0 || event.originalEvent.detail < 0) {
remove_styles();
$("#"+id+" .content_carrusel ."+actual_record).addClass('previous');
$("#"+id+" .content_carrusel ."+new_element(1)).addClass('actual');
$("#"+id+" .bullet ."+actual_record).addClass('active');
var init = new_element(1);
setTimeout(function(){ $("#"+id+" .content_carrusel ."+init).addClass('card_next');}, 50);
setTimeout(function(){ $("#"+id+" .content_carrusel ."+init).addClass('next'); } , 100);
new_element(-1);
}
else
{
remove_styles();
$("#"+id+" .content_carrusel ."+actual_record).addClass('next');
$("#"+id+" .content_carrusel ."+new_element(-1)).addClass('actual');
$("#"+id+" .bullet ."+actual_record).addClass('active');
var init = new_element(-1);
setTimeout(function(){ $("#"+id+" .content_carrusel ."+init).addClass('card_previous');}, 50);
setTimeout(function(){ $("#"+id+" .content_carrusel ."+init).addClass('previous'); } , 100);
new_element(1);
}
});