2

我想知道当一个人打开图像以获得更大的视图时,Facebook 如何处理浏览器滚动。滚动似乎被禁用但仍然可见(元素容器)。我想在网站上创建类似的行为,这样当我调用叠加层来显示图像时,滚动会被“禁用”以避免人们滚动并看不到叠加层。

4

2 回答 2

1

你要做的只是简单地设置

document.body.style.overflow = 'hidden';

而您不希望用户能够滚动,然后恢复到

document.body.style.overflow = '';

当你这样做的时候。

这是一个演示(单击它在两种状态之间切换)

于 2013-05-06T00:46:23.497 回答
0

我找到了答案,就像 facebook 的滚动一样。答案最初由“Patrick DaVader”发布,我认为值得分享:

要关闭滚动试试这个:

var current = $(window).scrollTop();

$(window).scroll(function() {
    $(window).scrollTop(current);
});

重置:

$(window).off('scroll');

我找到它的链接:如何使用 jQuery 以编程方式禁用页面滚动

于 2016-02-19T13:32:27.943 回答