滚动太快时,JQuery scrollTop相等无法正常工作

时间:2016-05-17 14:38:28

标签: javascript jquery

我正在使用jquery进行无限滚动,我正在尝试检测主div的底部何时到达浏览器窗口的底部。 我的问题是,在我的代码中,如果用户滚动太快,则不会对代码触发相等性。如何防止这种情况?

当用户滚动太快时,代码$(this).scrollTop() === exactPoint不会触发。

这是一个关于我如何做这种行为的例子。

http://jsfiddle.net/CCwYm/1/

我在这里搜索并搜索过,找不到能帮助我的东西。

1 个答案:

答案 0 :(得分:0)

由于您正在使用jQuery进行无限滚动页面,如果您的问题是在新内容更改文档高度之前您无法正确检测页面的当前底部,请尝试这样的操作(基于来自小提琴的代码)



console.log($(document).height());
console.log($(window).height());
console.log($(document).height() - $(window).height())
var bottom = $(document).height() - $(window).height();

$(document).scroll(function(){
   	console.log($(this).scrollTop());
    if ($(this).scrollTop() < bottom) {
        console.log("scrolling");     
    } else {
        alert("bottom"); 
        $('.test').clone().appendTo( "body" );  
        bottom = $(document).height() - $(window).height();
    }
});
&#13;
.test{
	width: 100px;
    height: 1000px;
    background-color: black;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="test"></div>
&#13;
&#13;
&#13;