当我打开我的网站时,y 滚动条被打开,我希望它关闭,但是我希望它在重新调整窗口大小时打开,因为它会变得有用。知道怎么做吗?
我在正文中加入了 CSS:
body{
overflow-y:hidden;
}
然而,它在全尺寸和重新尺寸时变得隐藏。
最佳答案
您可以执行您所描述的操作,但我无法想象您为什么想要这样做。
您可以通过让 body
最初有一个包含您引用的规则的类来实现,然后在调整大小时将其删除:
CSS:
body.no-vscroll {
overflow-y:hidden;
}
HTML:
<body class="no-vscroll">
JavaScript(在文档末尾的 script
标记中):
$(window).one("resize", function() {
$("body").removeClass("no-vscroll");
});
注意 one
的使用(而不是 on
),因为我们只需要在第一次 调整大小时删除类。 one
将在事件第一次发生时自动删除处理程序。
回复你的评论:
it didn't work.. Now both on full-size and re-size there is no scroll bar
Works for me .我怀疑您只是没有将上述内容正确应用到您的页面。
不过,我确实想到了一个可能的问题:您可能希望在处理 resize
之前等待 load
,因为 load
等待对于所有要加载的图像等,加载图像可能会导致调整大小:
$(window).on("load", function() {
$(window).one("resize", function() {
$("body").removeClass("no-vscroll");
});
});
但这并不能说明您所描述的情况。 (不等待 load
会产生相反的症状:页面首次加载时出现滚动条,尽管您试图抑制它。)
关于javascript - 根据浏览器窗口大小控制 y 滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31085752/