使用jquery或css将隐藏到html, body
的溢出设置为隐藏状态在ios Safari中不起作用,但在Mac和所有其他浏览器上的Safari中起作用。
我尝试在这里寻找答案:Overflow-x:hidden doesn't prevent content from overflowing in mobile browsers。答案说明将包装器div与position: relative
一起使用,并将overflow: hidden
添加到该div中。该解决方案对我不起作用。
还有一个回答说要使用position: fixed
,但是我遇到的问题是我需要使用toggleClass
在上溢之间切换才能使弹出消息起作用,但是当我使用jquery应用它时,屏幕会滚动所有内容到达顶端的方式。
[我还尝试在弹出窗口后面添加一个具有全宽度和高度的透明position: fixed
叠加层,但是很奇怪,背景中的body / html仍可以在该叠加层中滚动。
在响应模式下,通过单击此处右下方的共享按钮,可以在我的网站上看到此问题:https://ph4ntom.tech/downloads/wallpapers/wallpapers.html
是否有一种可行的方法来在Safari浏览器事件中临时使用jquery / css / html来隐藏/禁用覆盖?
我没有包括完整的代码,因为这会使问题变得更长且更令人困惑,并且我认为包括代码是没有必要的,因为我的问题仅要求使用ios Safari在overflow: hidden
中隐藏溢出或禁用滚动的方法body, html
上的指示灯不起作用。请阅读: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>