javascript - iOS导航工具栏下的固定元素
问题描述
我在页面顶部有一个固定的导航元素,每当 iOS safari 导航(URL 地址)工具栏出现时我试图移动它,这样它就不会被它覆盖。
我通过首先使用具有 height 的元素获取实际页面高度来推导工具栏的高度100vh
。这个高度和window.innerHeight
工具栏的高度之差。
然而,问题是它top: 0
有时被工具栏覆盖,有时它就在它之后。这意味着我不能只设置top
工具栏的高度;它有时会起作用,但不是每次都起作用,具体取决于工具栏的生成方式。
关于如何top: 0
确定工具栏何时覆盖以及何时不覆盖的任何想法?
顺便说一句,这只是横向模式下的问题。在纵向中,top: 0
永远不会被工具栏覆盖。
解决方案
我找到了解决方案。您必须监视最后的滚动方向。
如果最后一个滚动方向是up
则top: 0
永远不会被工具栏覆盖。
如果最后一个滚动方向是,down
那么top
应该是top: Math.min(toolbarHeight, window.pageYOffset)
推荐阅读
- sed - sed:仅在包含单词 z 的行上将所有出现的单词 X 替换为 Y
- javascript - 如果我们在网页上有多个表单,action 属性的值应该是多少?
- junit5 - 如何使用 assertThrows
- html - 这在 chrome 开发者工具中意味着什么
- axlsx - caxlsx / axlsx 数据透视表忽略空白并删除总计
- javascript - 是否有 openweathermap 的完整 JSON 响应的示例?
- python - 在 google ortools 中添加析取约束
- geth - GETH 如何达到 TX 的最大广播速度
- css - 使用 Angular 重新触发 css 动画
- r - 安装 xfun 的问题(对于 rmarkdown)