iOS导航工具栏下的固定元素

时间:2018-12-12 10:12:03

标签: javascript html ios css

我在页面顶部有一个固定的导航元素,每当iOS Safari浏览器导航(URL地址)工具栏出现它不被覆盖时,我都会尝试移动该元素。

我首先通过使用高度为100vh的元素获取实际页面高度来导出工具栏的高度。此高度与window.innerHeight之间的区别是工具栏的高度。

但是,问题是top: 0有时被工具栏覆盖,有时紧随其后。这意味着我不能仅将top设置为工具栏的高度;根据工具栏的生成方式,它有时会工作,但并非每次都能工作。

关于top: 0何时被工具栏覆盖以及何时未被覆盖的任何想法?

顺便说一句,这只是横向模式下的问题。在纵向模式下,top: 0永远不会被工具栏覆盖。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。您必须监视最后一个滚动方向。

如果最后一个滚动方向是up,则top: 0永远不会被工具栏覆盖。

如果最后一个滚动方向是down,则top应该是top: Math.min(toolbarHeight, window.pageYOffset)