Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 跟踪视口到顶部的偏移_Javascript_Jquery - Fatal编程技术网

Javascript 跟踪视口到顶部的偏移

Javascript 跟踪视口到顶部的偏移,javascript,jquery,Javascript,Jquery,我有几个事件会被触发,具体取决于用户在页面上的距离。现在我正在用这个 $(window).on({ scroll: function() { trigger_scrolled(); } }); 我一直在玩弄每X毫秒检查一次的想法,但我不知道它们是如何比较的 目前,该应用程序正在运行,但它非常消耗内存。有没有更快的方法?或任何其他替代方法?您可以通过使用节流/去抖动机制来限制函数的调用量。有一个,或者使用JQuery scrollTop() 参见小提琴: 编辑:添

我有几个事件会被触发,具体取决于用户在页面上的距离。现在我正在用这个

$(window).on({
    scroll: function() {
        trigger_scrolled();
    }
});
我一直在玩弄每X毫秒检查一次的想法,但我不知道它们是如何比较的


目前,该应用程序正在运行,但它非常消耗内存。有没有更快的方法?或任何其他替代方法?

您可以通过使用节流/去抖动机制来限制函数的调用量。有一个,或者使用JQuery scrollTop()

参见小提琴:


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

您可以使用jQuery
.scrollTop()
并对特定值触发事件。我没有在上面的代码中包含它,但我的
触发器\u scrolled()
已经在检查偏移量。好的,我添加了一个超时,这就是您要查找的吗?
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);
});