<分区>
我想禁用我的网页的滚动,但要完全禁用,而不仅仅是禁用滚动条
overflow: hidden
将不起作用。
此外,由于边缘上的“软滚动”,此解决方法不适用于 Mac。它将显示一个可怕的摇晃动画:
window.onscroll = function () {
window.scrollTo(0,0);
}
有没有其他方法可以完全禁用滚动?
标签 javascript html css
<分区>
我想禁用我的网页的滚动,但要完全禁用,而不仅仅是禁用滚动条
overflow: hidden
将不起作用。
此外,由于边缘上的“软滚动”,此解决方法不适用于 Mac。它将显示一个可怕的摇晃动画:
window.onscroll = function () {
window.scrollTo(0,0);
}
有没有其他方法可以完全禁用滚动?
最佳答案
假设简化的 HTML 代码是:
<html><body><div class=wrap>content...</div></body></html>
将body、html都设置为height:100%;
body, html {height:100%;}
将一个 div 放入 body 中,并将其设置为横跨整个 body 高度:
div.wrap {height:100%; overflow:hidden;}
这将防止窗口以奇怪的方式滚动,例如,按下鼠标滚轮并移动它,使用 anchor 等。
要删除滚动条本身(视觉上),您还应该添加:
body {overflow: hidden; }
通过按键盘上的箭头键来禁用滚动:
window.addEventListener("keydown", function(e) {
// space, page up, page down and arrow keys:
if([32, 33, 34, 37, 38, 39, 40].indexOf(e.keyCode) > -1) {
e.preventDefault();
}
}, false);
关于javascript - 完全禁用网页滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16637031/