0

我目前有一个覆盖默认鼠标滚轮行为的函数:

$(function() {
      $('body').mousewheel(function(event, delta) {
            if (flag) { return false; }
            $current = $('div.current');

           console.log(delta);
           console.log($current);

           if (delta > 0) {
               $prev = $current.prev();

              if ($prev.length) {
                 flag = true;
                $('body').scrollTo($prev, 750, {
                    onAfter : function(){
                        flag = false;
                    }
                });
                $current.removeClass('current');
                $prev.addClass('current');
            }
        } else {
            $next = $current.next();

            if ($next.length) {
                flag = true;
                $('body').scrollTo($next, 750, {
                    onAfter : function(){
                        flag = false;
                    }
                });
                $current.removeClass('current');
                $next.addClass('current');
            }
        }

      event.preventDefault();
    });
});

我使用此功能来跟踪我在哪个“页面”上:

window.setInterval(function(){
    var sliderObject = $.data( $('#slider-main')[0], 'liquidSlider');
    if (sliderObject.currentTab == 0) {
        home = true;
    }
    else{
        home = false;
    }
}, 500);

我想要什么:只有home设置为时,我才想覆盖鼠标滚轮的默认行为true

换句话说,我只想绑定特殊的鼠标滚轮功能,如果home是真的。

我怎样才能做到这一点 ?

提前致谢。

4

1 回答 1

2

我要做的是,在鼠标滚轮事件的侦听器中$.mousewheel(顺便说一下,我不知道jQuery支持),有一个if语句来确定是否home设置为 true 并对其进行操作。

在这种情况下:

$('body').mousewheel(function (event, delta) {
    if (home === true) {
        // Special behavior
    } else {
        // Default behavior
    }
});
于 2013-08-11T21:10:03.457 回答