我有一个 Web 应用程序,它以 100% 的宽度和高度调整 html 和 body 元素的大小,并放在overflow: scroll
body 上以创建全屏幻灯片元素。我正在使用jQuery Waypoints进行粘性导航并确定当前可见的幻灯片。
由于 body 元素在技术上是唯一的滚动,我设置了context: body
. 这在 Firefox 中按预期工作,但在 Chrome 或 Safari 中不会触发航点。
我可以通过在滚动到应该触发的点后手动调用来触发航点,但是在每个滚动事件之后调用它似乎是一个非常麻烦的解决方案。$.waypoints('refresh');
$('body').on('scroll', function(){$.waypoints('refresh');})
——它有效,但肯定不漂亮。
我假设这与每个浏览器如何解释 DOM 有关,但是 Chrome 和 Safari 不能很好地处理可滚动元素中的航路点是否有一个已知的原因?
我正在寻找两件事中的一件,要么是我在使用航点时所做的倒退,要么是潜在的问题是什么,以便我可以修复它并使航点对每个人都正常工作。
作为记录(在任何人询问之前),我已经完成了我的研究,这不是固定元素的问题。
编辑:终于得到了为此构建的 CodePen。看一看。