Я использую цикл jQuery в сочетании с плагином колесика мыши. Я построил его так, чтобы колесико мыши двигалось по циклу в зависимости от того, как вращается колесо. Однако, как только цикл изменится, я бы хотел, чтобы колесо мыши временно не перемещалось по циклу на мгновение или пока оно не сместится в противоположном направлении, поскольку цикл движется слишком быстро.
Есть ли какой-нибудь способ остановить событие на мгновение после его запуска каждый раз?
Я создал JSBIN:
http://jsbin.com/evaxas/10
РЕДАКТИРОВАТЬ: Исправлена проблема с колесом мыши, теперь он работает предыдущий / следующий
-
РЕДАКТИРОВАТЬ: С помощью r0m4n ниже, мне удалось найти хорошее решение. Ответ ниже хорош, но создает небольшую задержку перед вызовом прокрутки, поэтому я решил создать функцию, которую можно связать и отскочить.
http://jsbin.com/evaxas/13/
function wheelMove(event,deltaY) {
event.preventDefault();
$('#cycle').unbind('mousewheel', wheelMove);
if (deltaY > 0) {
$('#cycle').cycle('next');
}
if (deltaY < 0) {
$('#cycle').cycle('prev');
}
}
$(document).ready(function(){
$('#cycle').cycle({
fx: 'scrollVert',
speed: 800,
timeout: 0,
after: function(){
interval = setTimeout(function(){
$('#cycle').bind('mousewheel', wheelMove);
},1600);
}
});
$('#cycle').bind('mousewheel',wheelMove);
});