我的任务是滚动和更新滚动(即在屏幕上查看)的事件。
基本上,我在页面上显示了一些消息(带有id的DIV块)。现在,当我滚动窗口时,无论看到什么消息,都需要从“未读”中进行“已读”。我该怎么做呢?如果消息是较早读取的,那么它将不会生效。如果消息是‘未读’和我滚动窗口,那么出现在屏幕上的消息必须通过一些操作(可能是Ajax)使消息‘已读’。
该怎么做呢?
发布于 2015-02-18 20:18:27
您可以使用一个名为Waypoints的JS库。它允许您在元素进入视口时设置回调函数。
var waypoint = new Waypoint({
element: document.getElementById('message1'),
handler: function(direction) {
// Message has been read
}
});在您的示例中,您希望在消息块位于视区上方时调用处理程序,因此您可以使用以下代码:
var waypoint = new Waypoint({
element: document.getElementById('message1'),
handler: function(direction) {
// Message has been read
},
offset: function() {
return -this.element.clientHeight
}
});https://stackoverflow.com/questions/28583345
复制相似问题