根据用户在页面上有多远,我有几个事件会被解雇。现在,我使用这个跟踪顶部视口偏移
$(window).on({
scroll: function() {
trigger_scrolled();
}
});
我一直在摆弄与检查的想法毫秒每X量,但我不知道他们是如何进行比较。
现在的应用程序,但它非常消耗内存。有没有更快的方法来做到这一点?或者其他选择?
根据用户在页面上有多远,我有几个事件会被解雇。现在,我使用这个跟踪顶部视口偏移
$(window).on({
scroll: function() {
trigger_scrolled();
}
});
我一直在摆弄与检查的想法毫秒每X量,但我不知道他们是如何进行比较。
现在的应用程序,但它非常消耗内存。有没有更快的方法来做到这一点?或者其他选择?
您可以通过使用油门/去抖动机制来限制函数被调用的数量。 Underscore.js有一个,use a jQuery plugin,或write your own
使用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/
编辑:添加时间等,以使它检查少再三。
我没有将它包含在上面的代码中,但是我的'trigger_scrolled()'它已经检查了偏移量。 – alexdmejias
好吧,我已经添加了暂停,是你想要的吗? – Jonathan
您可以使用jQuery'.scrollTop()'并在特定值上触发事件。 – supersize