2

我创建了这个 javascript 函数,它在显示侧边菜单时禁用页面内容的滚动:(就像移动应用程序上的 fb)

function disableScroll(){
    var top = $(window).scrollTop();
    var left = $(window).scrollLeft();
    $('body').css('overflow', 'hidden');
    $(window).scroll(function(){
        $(this).scrollTop(top).scrollLeft(left);
    });
}

但是,每当我尝试滚动侧面菜单时,页面内容都会显示滚动条向上移动并返回其原始位置。我如何防止它显示出来,因为它看起来真的很丑。

我尝试使用 CSS 修复滚动位置,但它会自动将我的页面带到顶部,这不是我想要的。我希望它停留在用户最后一次单击按钮以显示侧边菜单的位置。

4

2 回答 2

1

您还应该设置overflow: hidden元素body..然后滚动条根本不会显示。之后将其返回到原始溢出。

于 2013-08-08T11:31:21.510 回答
0

查询

$('body').delegate('#element', 'click', function() {
        $("body").css('overflow', 'hidden');
    });

这也许可以解决您的问题?

于 2013-08-08T14:53:57.593 回答