我有一项任务是滚动和更新滚动的事件(即在屏幕上查看)。
基本上我有一些消息(带有id的DIV块),我在页面上显示。现在,当我滚动窗口时,看到任何消息,需要从“未读”中“读取”。我该怎么做?如果消息早先被读取,则它将不起作用。如果消息是“未读”并且我滚动窗口,那么屏幕上显示的消息必须通过某些操作(可能是Ajax)进行“读取”。
怎么做?
答案 0 :(得分:0)
您可以使用名为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
}
});