我想在用户滚动并到达某个元素时触发一个函数,以便我可以将该元素标记为“已读”(想想在现已失效的 Google Reader 中查看帖子后如何将它们标记为已读)。因此,例如,想象一个如下所示的页面:
<div id="1">Node 1</div>
<div id="2">Node 2</div>
<div id="3">Node 3</div>
<div id="4">Node 4</div>
假设只有前两个<divs>
适合视口,我想使用 Dojo 的事件侦听器并在 div 3 进入视图时触发一个事件,并在 div 4 进入视图时再次触发一个事件。(除了我在读取元素时记录的目标之外,这还可以让我轻松实现无限滚动。)
jQuery Waypoints工具似乎完全符合我的要求,但由于我的大部分代码都使用 Dojo,我真的不想只为这一项任务使用 jQuery。我想找到一个预先编写的工具或简单的方法来执行此操作,它不依赖于 Dojo 以外的库/工具包(我可以使用 Dojo 或根本不使用库)。
更新:似乎Skrollr也可以满足我的要求,但仅适用于动画——也就是说,它可以根据元素与视口的关系为元素设置动画。但是,这并不完全有帮助,因为我的目标不是动画,而是在元素进入视点时激活一个函数(这将通过 Dojo 进行 AJAX 调用)。