Javascript 网页的jQuery滚动功能不起作用?

Javascript 网页的jQuery滚动功能不起作用?,javascript,jquery,html,css,ajax,Javascript,Jquery,Html,Css,Ajax,我正在尝试设置网页的滚动,但工作不正常 我想要的是,当有人滚动到页脚元素的中间或至少在页脚元素前面一点时,我想触发滚动事件,然后像触发滚动事件一样等待10到15秒,数据通过ajax加载,这需要时间,每次当有人再次向下滚动页脚时,数据都会加载应再次触发滚动功能 我现在的工作如下,但我希望将其增强到上述要求: $(document).on('scroll', function() { if($(this).scrollTop()>=$('footer').position().top)

我正在尝试设置网页的滚动,但工作不正常

我想要的是,当有人滚动到页脚元素的中间或至少在页脚元素前面一点时,我想触发滚动事件,然后像触发滚动事件一样等待10到15秒,数据通过ajax加载,这需要时间,每次当有人再次向下滚动页脚时,数据都会加载应再次触发滚动功能

我现在的工作如下,但我希望将其增强到上述要求:

$(document).on('scroll', function() {
    if($(this).scrollTop()>=$('footer').position().top){
        $('div#load_more').click();
    }
});

使用以下函数使用$window而不是$document:

$(window).on('scroll', function(e) {
    alert("Scrolled");
});
使用$window而不是$document

//helper函数完全按照它所说的做 函数睡眠时间{ 返回新PromiseSolve=>setTimeoutresolve,时间; } var$canfetch=true; $window.on'scroll',function e{ var scrollHeight=$window.scrollTop; var scrollPosition=$。突出显示[0]。偏移; //如果用户已到达页面底部,将触发下一个滚动事件的休眠功能。 如果滚动位置滚动高度{ 警报已经过了15秒; //返回页首 $window.scrollTop0; $canfetch=true; }; } }; .好的{ 高度:500px; } .亮点{ 高度:20px; 文本对齐:居中; 背景颜色:黄色; } 参考点
我刚刚对您的代码进行了JSFIDLE测试,并得出以下结论: A.假设页脚在div中

如果使用class='footer',则必须使用 $'.footer'.position.top 如果您使用的是id='footer',则必须使用$'footer'.position.top b。我添加了console.log$this.scrollTop+'~~ footer positionon top是'+$'.footer'.position.top;并发现该条件从未满足。 1671 ~~当我一直向下滚动时,页脚位置在顶部是1868

希望这有点帮助


旁注:您可能需要考虑一个很酷的插件,称为Ajax加载,以获得类似的特性。

为什么您在IF语句中运行一个单击,而不是直接调用Ajax?另外,在javascript中,只调用.click不会触发click事件。你需要这样做。触发“点击”;为此,我不能直接调用ajax,因为ajax是通过单击其他地方调用的,这就是原因。除此之外,是的,我将其改为。触发“单击”,我想如果这两者都以相同的方式工作。这里的要点是什么?虽然这个代码片段可以解决这个问题,但确实有助于提高您文章的质量。请记住,您将在将来回答读者的问题,这些人可能不知道您的代码建议的原因。还请尽量不要用解释性注释挤满你的代码,这会降低代码和解释的可读性!我想要的是在下一次滚动事件触发之间有15秒的延迟。你能在其中嵌入页脚或任何元素吗?例如,当有人滚动到元素时,也就是说,当元素显示得稍微正确时,滚动应该被触发,而不是完全正确吗?@UmairShahYousafzai请检查编辑的页面回答当用户到达页面底部时,会触发睡眠功能。@UmairShahYousafzai您的意思是,不要到达页面底部而停止,直到它到达某个元素?是的,如果在用户接近底部(像素)时也添加了额外的代码,我也会这样做。