Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 完全禁用网页滚动_Javascript_Html_Css - Fatal编程技术网

Javascript 完全禁用网页滚动

Javascript 完全禁用网页滚动,javascript,html,css,Javascript,Html,Css,我想禁用我的网页滚动,但完全,不只是禁用滚动条,所以 overflow: hidden 这是行不通的 此外,由于边缘上的“软滚动”,此解决方法不适用于Mac。它将显示一个可怕的摇摇晃晃的动画: window.onscroll = function () { window.scrollTo(0,0); } 是否有其他方法完全禁用滚动?假定简化的HTML代码为: <html><body><div class=wrap>content...</div>

我想禁用我的网页滚动,但完全,不只是禁用滚动条,所以

overflow: hidden
这是行不通的

此外,由于边缘上的“软滚动”,此解决方法不适用于Mac。它将显示一个可怕的摇摇晃晃的动画:

window.onscroll = function () {
window.scrollTo(0,0);
}

是否有其他方法完全禁用滚动?

假定简化的HTML代码为:

<html><body><div class=wrap>content...</div></body></html>
在身体内部放置一个div,并将其设置为在整个身体高度上伸展:

div.wrap {height:100%; overflow:hidden;}
这将防止窗口以奇怪的方式滚动,例如,按下鼠标滚轮并移动它,使用锚等

要移除滚动条本身(可视),还应添加:

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);

你能说明为什么
溢出:hidden
不适合你吗?提供一些示例代码。overflow:hidden只删除滚动条,但不会禁用滚轮滚动(我说的是垂直滚动)。overflow:hidden通常非常适合我。我认为你应该提供一些像@Brad said这样的例子。然后你需要指定一个高度。为什么你要尝试这个-浏览器是他们的财产,因此由他们来滚动。有可能,如果我禁用滚动,我想使用整个窗口。这可以通过
正文{margin:0}
完成。否则(至少在我的Chrome设置中)会丢失一个小边框。FWIW,我不同意这个主题是重复的。指向的主题更多地是关于溢出到右侧的文本,因此它对
很有用。本主题涉及整个视图区域,因此对
非常有用。显然有很大的重叠,但结果是Sych的答案在那里的评分很低,在这里的评分很高。
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);