javascript滚动事件不一致

时间:2016-02-10 19:25:47

标签: javascript jquery events scroll

我试图触发滚动事件。 并且发现这个简单的任务并不那么简单。

使用jQuery v1.9.1 的代码

use Request;
use Log;

是否有正确可靠的方法来触发滚动事件?  请参阅jsFiddle link

1 个答案:

答案 0 :(得分:1)

看起来scroll事件实际上只有在您手动触发它或scrollTop()函数实际滚动窗口时才会触发。

这将始终提醒值,尽管有时它为零:

var win = $(window);
win.on('scroll', function() {
  alert('scrolled: ' + win.scrollTop());
});
win.trigger('scroll');

只要页面尚未一直滚动到底部,这将提醒一个值。

var win = $(window);
win.on('scroll', function() {
  alert('scrolled: ' + win.scrollTop());
});
win.scrollTop(win.scrollTop() + 1);

只要页面尚未滚动到顶部,这将提醒一个值。

var win = $(window);
win.on('scroll', function() {
  alert('scrolled: ' + win.scrollTop());
});
win.scrollTop(win.scrollTop() - 1);