jQuery禁用并启用滚动

时间:2012-05-23 00:32:03

标签: jquery scroll

$('.news-wrap').mouseenter(function(event) {
    $(window).mousewheel(function(event) {
        event.preventDefault();
    });
});

禁用窗口滚动,每个我都离开元素。 如何使用mouseleave事件启用滚动?

3 个答案:

答案 0 :(得分:9)

我已经编写了一个jQuery插件来处理这个问题: $.disablescroll

停止从鼠标滚轮,触摸移动和 Page Down 等按钮滚动。

$('.news-wrap').mouseenter(function() {

    $(window).disablescroll();

}).mouseleave(function() {

    $(window).disablescroll("undo");

});

希望有人觉得这很有帮助。

答案 1 :(得分:7)

喜欢这个吗?

$('#abs').bind('mousewheel DOMMouseScroll', function(e) {
    var scrollTo = null;
    if (e.type == 'mousewheel') {
        scrollTo = (e.originalEvent.wheelDelta * -1);
    } else if (e.type == 'DOMMouseScroll') {
        scrollTo = 1000 * e.originalEvent.detail;
    }

    if (scrollTo) {
        e.preventDefault();
        $(this).scrollTop(scrollTo + $(this).scrollTop());
    }
});​

答案 2 :(得分:0)

我目前正在引导浏览中使用插件,目标是 单击链接时禁用滚动,单击链接时启用滚动 游览中的“结束游览”按钮。

在HTML中,通过div创建id链接:

<div id='placeholder'><a href='#'>Placeholder link</a> </div>

使用点击功能实例化jQuery。

启动jquery:

$(document).ready(function() {
    /*click Function*/
    $('#placeholder').click(function(){
        /*Disables scrolling*/
        $('body').css('scroll', function(){
            window.scrollTo(0,0);
        });
    });  
});

结束弹出窗口时,插件选项引导浏览:

/*This fire when clicking End Tour & placeholder would only work if that what you named the tour.*/
onEnd: function(placeholder) {
    /*Enable scroling*/
    $('body').css({ 'overflow': 'scroll' });
    $(document).off('scroll');
}