Waypoints 库的滚动百分比
Scroll percentage with Waypoints library
我正在尝试使用 Waypoints library。
我的用例是我需要检测用户何时阅读到页面的 20%、40% 等。
然而,该库的工作方式似乎有所不同,因为它会检测某个 DOM 元素何时进入视图,而不管其滚动深度如何。
如何让它做我需要的事情?
查看文档http://imakewebthings.com/waypoints/api/offset-option/
要检测页面位置,您可以将 Waypoint 附加到页面的包装纸上。我的意思是您的页面的父元素将包含页面内容(它将是您页面的 100% 高度):
<body>
<div id="wrapper">
page content...
</div>
</body>
然后根据文档,您可以使用 "offset" 来实现您的需要。您可以将 Waypoint 附加到 "wrapper" 并使用偏移量获取百分比来检测用户滚动的距离。
var waypoint = new Waypoint({
element: document.getElementById('wrapper'),
handler: function(direction) {
alert('50% past the top')
},
offset: '-50%'
})
我正在尝试使用 Waypoints library。
我的用例是我需要检测用户何时阅读到页面的 20%、40% 等。
然而,该库的工作方式似乎有所不同,因为它会检测某个 DOM 元素何时进入视图,而不管其滚动深度如何。
如何让它做我需要的事情?
查看文档http://imakewebthings.com/waypoints/api/offset-option/
要检测页面位置,您可以将 Waypoint 附加到页面的包装纸上。我的意思是您的页面的父元素将包含页面内容(它将是您页面的 100% 高度):
<body>
<div id="wrapper">
page content...
</div>
</body>
然后根据文档,您可以使用 "offset" 来实现您的需要。您可以将 Waypoint 附加到 "wrapper" 并使用偏移量获取百分比来检测用户滚动的距离。
var waypoint = new Waypoint({
element: document.getElementById('wrapper'),
handler: function(direction) {
alert('50% past the top')
},
offset: '-50%'
})