跟踪视口偏移到顶部

时间:2013-06-18 18:37:29

标签: javascript jquery

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

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

我一直在调整每X毫秒检查的想法,但我不知道他们如何比较。

现在的应用程序,但它非常耗费内存。有更快的方法吗?或任何其他替代方案?

2 个答案:

答案 0 :(得分:0)

您可以使用节流/去抖动机制限制调用函数的数量。 Underscore.js有一个,use a jQuery pluginwrite your own

答案 1 :(得分: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/

编辑:添加超时以使其检查更少。