gpt4 book ai didi

jquery - 更改滚动逻辑的自动加载(防止用户等待)

转载 作者:行者123 更新时间:2023-12-01 08:25:58 24 4
gpt4 key购买 nike

目前,我使用以下逻辑在用户到达网站底部时从数据库自动加载新帖子:

$(window).scroll(function() {
if ($(window).scrollTop() == $(document).height() - $(window).height()) {
last_msg_funtion();
}
});

很公平。它做了它应该做的事情,但我想改变这一点,以便当用户例如时它开始加载新帖子。距离网站底部 100 像素。有任何想法吗?当我尝试更改代码时,我要么:

** 进入了last_msg_function() 调用的几乎无限循环,因为 if() 语句匹配例如滚动时从距离底部 100 像素到每个像素向下到 0 像素。因此,如果您滚动得非常慢,您可能会设法停在距底部正好 100 像素的位置,但这在现实生活中是行不通的。

**)它必须与我定义的底部像素完全匹配,例如90 像素。如果您停止滚动,例如89 或 91 像素,它不会加载任何内容。

那么,我应该更改什么以确保它在距离网站底部 0 -> 100 像素时开始加载,但同时不要每次都发送新请求来更改滚动位置仍在加载时,任何方向上的像素都很少?

谢谢!

最佳答案

尼克回答得好。另一件要做的事情是确保每次用户滚动时滚动函数仅触发一次,否则,正如您所提到的,last_msg_function 将被多次调用。尝试这样的事情...

var processScroll = true;
$(window).scroll(function() {
if (processScroll && $(window).scrollTop() > $(document).height() - $(window).height() - 100) {
processScroll = false;
last_msg_funtion();
processScroll = true;
}
});

关于jquery - 更改滚动逻辑的自动加载(防止用户等待),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3830035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com