身体垂直滚动适应?

时间:2014-01-06 21:23:25

标签: javascript html css scroll

我刚注意到,当Facebook上出现弹出窗口时,默认页面滚动会发生变化,只有弹出窗口的背景变为可滚动,而后面的页面保持不变。我试着理解它是如何工作但没有运气。我也完全不知道如何谷歌这个,所以我真的希望你能帮助我。

P.S。:我知道这可能不被认为是真实的"问题,但我对如何用其他术语解决这个问题完全无能为力。我道歉!

2 个答案:

答案 0 :(得分:0)

您可以阻止鼠标滚轮浏览wheel事件:

window.onwheel = function(evt) { evt.preventDefault(); };

(请注意,wheel在元素和window对象上可用,例如,将事件侦听器附加到body可能更好。)

要隐藏滚动条,您可以将相应元素的样式设置为overflow:hidden

为防止触摸滚动,您可以尝试在touch*事件上调用preventDefault()

答案 1 :(得分:0)

要防止滚动,请在CSS中设置overflow: hidden。要启用滚动功能,请设置overflow: auto。因此,当弹出窗口出现时,设置:

body
{
    overflow: hidden;
}
#myPopup
{
    overflow: auto;
}

演示:jsfiddle.net/yM7zb