javascript - 根据浏览器窗口大小控制 y 滚动条

标签 javascript jquery html css

当我打开我的网站时,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");
    });
});

Live Copy

但这并不能说明您所描述的情况。 (不等待 load 会产生相反的症状:页面首次加载时出现滚动条,尽管您试图抑制它。)

关于javascript - 根据浏览器窗口大小控制 y 滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31085752/

相关文章:

javascript - 附加大文档时 UI 响应太慢

javascript - 如何在angularJS中显示来自服务器的图像

javascript - 如何在 MVC 中将 dropdownlist 的值传递给 onchange 事件?

javascript - JQuery - 分离然后将一个项目附加到列表中 - 为什么这个简单的示例不起作用?

javascript - 使用 jQuery 在 CSS 中切换动画,有没有比我的解决方案更好的方法?

HTML 与 XHTML 仍然重要吗?

javascript - <h2> 当我点击菜单时未被查看

javascript - 使用 CSS 制作二进制数动画

javascript - 获取 WKWebView 的内容高度不正确

javascript - 查询 foreach 循环内按钮的单击事件