0

根据用户在页面上的距离,我有几个事件会被触发。现在我正在使用这个

$(window).on({
    scroll: function() {
        trigger_scrolled();
    }
});

我一直在摆弄每 X 毫秒检查一次的想法,但我不知道它们是如何比较的。

现在的应用程序,但它非常消耗内存。有没有更快的方法来做到这一点?或任何其他选择?

4

2 回答 2

0

您可以使用节流/去抖动机制来限制函数被调用的数量。Underscore.js有一个,使用 jQuery 插件,或者自己编写

于 2013-06-18T18:48:35.807 回答
0

使用 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/

编辑:添加了超时以减少检查次数。

于 2013-06-18T18:59:07.930 回答