我有一个按钮在底部的我的网站。在safari浏览器的ios设备上,当我尝试点击它时,它首先打开浏览器的页脚部分,然后我必须再次点击按钮。如何一次点击按钮?请参阅以下GIF:https://i.stack.imgur.com/hycil.gif
高度:100VH
(这将设置内容的最大可能高度)overflow-y:scroll
(这将使div/元素可滚动,因此当您实际滚动时浏览器不会注意到您正在滚动。)由于ios Safari的默认行为,当你滚动页面时,它会自动隐藏浏览器的页眉和页脚。现在,如果你有一个按钮在底部的部分你的网站,你将不得不点击两次使它的工作。第一次点击将触发safari页脚部分(假设您想打开页脚部分),第二次点击实际上将触发按钮上的click事件。
这个东西引起问题的一个主要原因是,每当你滚动的时候,safari会注意到你已经滚动了,并且你会继续滚动。为了显示网站上最大的内容,它隐藏页脚和地址栏。这就是为什么必须使用overflow-y:scroll
。
附注。因为您现在正在div/elementwindow.addeVentListener('scroll',function())
中滚动。要解决此问题,可以使用document.getElementById('your-div-id').AddEventListener('scroll',function())
除此Window.PageyOffset将始终为0。要获取pageYOffset,可以使用添加了overflow-y:scroll
的div的getBoundingRect属性。
例如:scrollposition=document.getElementById('your-div-id').getBoundingClientRect().top
这将提供从div顶部到滚动之前的高度。
快乐调试