是否有可能使用jQuery或javascript禁用浏览器的垂直和水平滚动条?
是否有可能使用jQuery或javascript禁用浏览器的垂直和水平滚动条?
如果您需要动态隐藏和显示滚动条的可能性,您可以使用
$("body").css("overflow", "hidden");
和
$("body").css("overflow", "auto");
在您的代码中的某个地方。
overflow: hidden
无法防止任何东西。 - dvldenfunction 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
}
尝试使用CSS
<body style="overflow: hidden">
到目前为止,我们在body元素上使用了overflow:hidden。然而,IE并不总是遵守这一点,你需要在body元素上加上scroll="no"属性,或者在html元素上也加上overflow:hidden。
当你需要控制视口时,可以进一步进行如下操作:
<style>
body {width:100%; height:100%; overflow:hidden; margin:0; }
html {width:100%; height:100%; overflow:hidden; }
</style>
中给定高度为100%的元素将具有窗口视口的完整高度,使用bottom:nnPX绝对定位的元素将设置在距离窗口底部边缘nn像素的位置,等等。尝试使用CSS。
如果您想要去除水平方向的内容
overflow-x: hidden;
如果您想要移除垂直方向
overflow-y: hidden;
-ms-overflow-style
属性隐藏滚动条。
html {
-ms-overflow-style: none;
}
在Chrome中,可以样式化滚动条:
::-webkit-scrollbar {
display: none;
}
如果你想在Web应用程序中使用“默认”的正文滚动条,这非常有用,这比overflow-y: scroll
快得多。
如果您还需要支持Internet Explorer 6,只需溢出html即可。
$("html").css("overflow", "hidden");
并且
$("html").css("overflow", "auto");
IE存在一些滚动条的bug。如果你想要其中两个,你必须包括以下内容以隐藏水平滚动条:
overflow-x: hidden;
overflow-y:scroll;
而为了隐藏垂直滚动条:
overflow-y: hidden;
overflow-x: scroll;
(我还不能发表评论,但我想分享这个):
Lyncee的代码在我的桌面浏览器上运行良好。然而,在iPad上(Chrome,iOS 9),它会使应用程序崩溃。为了解决这个问题,我进行了更改。
document.documentElement.style.overflow = ...
为了
document.body.style.overflow = ...
这解决了我的问题。
$('body').on({
'mousewheel': function(e) {
if (e.target.id == 'el') return;
e.preventDefault();
e.stopPropagation();
}
});
您可以使用以下代码再次启用它:
$('body').unbind('mousewheel');