根据用户在页面上的距离,我有几个事件会被触发。现在我正在使用这个
$(window).on({
scroll: function() {
trigger_scrolled();
}
});
我一直在摆弄每 X 毫秒检查一次的想法,但我不知道它们是如何比较的。
现在的应用程序,但它非常消耗内存。有没有更快的方法来做到这一点?或任何其他选择?
根据用户在页面上的距离,我有几个事件会被触发。现在我正在使用这个
$(window).on({
scroll: function() {
trigger_scrolled();
}
});
我一直在摆弄每 X 毫秒检查一次的想法,但我不知道它们是如何比较的。
现在的应用程序,但它非常消耗内存。有没有更快的方法来做到这一点?或任何其他选择?
您可以使用节流/去抖动机制来限制函数被调用的数量。Underscore.js有一个,使用 jQuery 插件,或者自己编写
使用 JQuery scrollTop()
var allowed = true;
var timeoutID;
$(window).scroll(function () {
if (!allowed) return;
allowed = false;
if ($(document).scrollTop() > 1000) {
alert("Do stuff");
}
timeoutID = window.setTimeout(function(){allowed = true}, 3000);
});
见小提琴:http: //jsfiddle.net/K6aRw/1/
编辑:添加了超时以减少检查次数。