禁用浏览器垂直和水平滚动条

时间:2008-10-28 09:03:04

标签: javascript jquery

是否可以使用jQuery或javascript禁用浏览器垂直和水平滚动条?

11 个答案:

答案 0 :(得分:141)

如果您需要动态隐藏和显示滚动条,可以使用

$("body").css("overflow", "hidden");

$("body").css("overflow", "auto");

代码中的某处。

答案 1 :(得分:107)

function reloadScrollBars() {
    document.documentElement.style.overflow = 'auto';  // firefox, chrome
    document.body.scroll = "yes"; // ie only
}

function unloadScrollBars() {
    document.documentElement.style.overflow = 'hidden';  // firefox, chrome
    document.body.scroll = "no"; // ie only
}

答案 2 :(得分:47)

尝试CSS

<body style="overflow: hidden">

答案 3 :(得分:31)

到目前为止,我们已经溢出:隐藏在身体上。然而IE并不总是尊重它,你需要在body元素上放置scroll =“no”和/或放置overflow:隐藏在html元素上。

当您需要“控制”视口时,您可以更进一步: -

<style>
 body {width:100%; height:100%; overflow:hidden; margin:0; }
 html {width:100%; height:100%; overflow:hidden; }
</style>

在正文中授予高度100%的元素具有窗口视口的完整高度,并且元素绝对使用底部定位:nnPX将设置在窗口底部边缘上方的像素等处。

答案 4 :(得分:9)

尝试CSS。

如果要删除水平

overflow-x: hidden;

如果你想删除垂直

overflow-y: hidden;

答案 5 :(得分:8)

如果您还需要支持Internet Explorer 6,只需溢出 html

$("html").css("overflow", "hidden");

$("html").css("overflow", "auto");

答案 6 :(得分:8)

在IE的现代版本(IE10及更高版本)中,可以使用-ms-overflow-style property隐藏滚动条。

html {
     -ms-overflow-style: none;
}

在Chrome中,可以设置滚动条的样式:

::-webkit-scrollbar {
    display: none;
}

如果您想在Web应用程序中使用“默认”正文滚动,这非常有用,这比overflow-y: scroll快得多。

答案 7 :(得分:4)

IE在滚动条中有一些错误。因此,如果您想要两者中的任何一个,则必须包含以下内容以隐藏水平滚动条:

overflow-x: hidden;
overflow-y:scroll;

并隐藏垂直:

overflow-y: hidden;
overflow-x: scroll;

答案 8 :(得分:4)

(我还不能发表评论,但想分享一下):

Lyncee的代码在桌面浏览器中为我工作。然而,在iPad(Chrome,iOS 9)上,它崩溃了应用程序。为了解决这个问题,我改变了

document.documentElement.style.overflow = ...

document.body.style.overflow = ...

解决了我的问题。

答案 9 :(得分:2)

因为Firefox有一个箭头键快捷方式,你可能想用CSS样式<div>围绕它overflow:hidden;

答案 10 :(得分:2)

使用JQuery,您可以使用以下代码禁用滚动栏:

$('body').on({
    'mousewheel': function(e) {
        if (e.target.id == 'el') return;
        e.preventDefault();
        e.stopPropagation();
     }
});

您也可以使用以下代码重新启用它:

 $('body').unbind('mousewheel');