jquery - 溢出:隐藏在 ios Safari 中不起作用
问题描述
将溢出隐藏设置为html, body
使用 jquery 或 css 在 ios safari 中不起作用,但适用于 mac 和所有其他浏览器上的 safari。
我尝试在这里寻找答案:Overflow-x:hidden 不会阻止内容在移动浏览器中溢出。答案解释了使用包装器 divposition: relative
并添加overflow: hidden
到该 div。这个解决方案对我不起作用。
还有一个答案说要使用position: fixed
,但我遇到的问题是我需要toggleClass
在溢出之间切换才能使弹出消息起作用,但是当我使用 jquery 应用它时,屏幕一直滚动到顶部。
我还尝试在弹出窗口后面添加一个全宽和全高的透明position: fixed
叠加层,但奇怪的是,背景中的 body/html 仍然可以在叠加层中滚动。
通过单击此处的右下角共享按钮,可以在我的网站上在响应模式下看到该问题:https ://ph4ntom.tech/downloads/wallpapers/wallpapers.html
是否有一种工作方法可以在 ios Safari 中临时使用 jquery/css/html 隐藏/禁用覆盖?
我没有包含整个代码,因为它会使问题变得更长和更混乱,而且我不认为包含代码是必要的,因为我的问题只要求在使用overflow: hidden
onbody, html
不起作用的 ios Safari 中隐藏溢出或禁用滚动的方法。请阅读:https ://stackoverflow.com/help/how-to-ask
感谢您的帮助 :)
解决方案
$("button").click(function() {
$("body").toggleClass("overflow-hidden")
})
.overflow-hidden {
height: 100vh;
overflow: hidden;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button>Click</button>
推荐阅读
- php - 如何多次运行 PHP 脚本并将参数传递给它?
- python - 为 Boxplot 自定义 Seaborn Hue Legend
- reactjs - 无法将数据传递给子反应组件
- python - 使用打印功能时如何修复重复数据?
- android - Unity 在 Android 上登录 anynomous
- swift - CompactMapValues 不适用于这个简单的字典
- python - MacPorts- 端口:找不到命令?
- slack - 我们可以为松弛消息实现倒计时功能吗?
- mongodb - MongoDB 聚合 $project 以返回“一致”对象
- ansible - 尝试根据ansible中的var类型设置条件