Есть jcarousel и задача: чтобы карусель листалась при прокрутке колесиком мыши. Сделал вот так:
$('.catalog_b .navigation').hover(function(){
function addHandler(object, event, handler) {
if (object.addEventListener) {
object.addEventListener(event, handler, false);
}
else if (object.attachEvent) {
object.attachEvent('on' + event, handler);
}
}
addHandler(window, 'DOMMouseScroll', wheel);
addHandler(window, 'mousewheel', wheel);
addHandler(document, 'mousewheel', wheel);
function wheel(event) {
var delta;
event = event || window.event;
if (event.wheelDelta) {
delta = event.wheelDelta / 120;
if (window.opera) delta = -delta;
}
else if (event.detail) {
delta = -event.detail / 3;
}
if (event.preventDefault) event.preventDefault();
event.returnValue = false;
console.log(delta);
if(delta == 1){
$('.catalog_b .navigation .carousel').jcarousel('scroll', '-=1');
}
else{
$('.catalog_b .navigation .carousel').jcarousel('scroll', '+=1');
}
}
});
При наведении на блок прокрутка работает, события отлавливаются. Но когда курсор покидает блок .catalog_b .navigation, событие до сих пор обрабатывается и не дает прокручивать страницу, а все так же листает карусель. Как это можно исправить?