我希望当用户滚动和到达页面的近底部的情况下,以装载更多的内容,说大约离底部100像素,问题是,这些事件被解雇滚动每一次在页面的较低100像素,所以这是不可能发生的,原因很明显一个明显的问题,所以我想知道我怎么能做到这一点最好的,我已经检查了其他的答案/上的问题在这里,然而,一个解决方案,部分作品不适合什么,我需要它这样做,当我试图改变它,所以它会,它完全冻结每次我的浏览器。 这是一个问题: 检查如果用户已滚动至底部
我看答案是接近底部,但这里是他建议的代码:
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
$(window).unbind('scroll');
alert("near bottom!");
}
});
现在,就像我说的,这样做的工作,并防止被解雇一个以上的事件,问题是我需要有事件的无尽的金额解雇,说,当你到达底部我加载100行的信息,但仍有1500多,我需要它每次重复加载的信息每笔金额(一旦你到达页面的每一次底部100像素的部分)
所以我试图做的是:
function loadMore()
{
alert("More loaded");
$(window).bind('scroll');
}
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
$(window).unbind('scroll');
loadMore();
}
});
就像我说的,这是我的浏览器立即每次,结合部分冻结了。
我有同样的问题了。 我遇到了这个链接 ,它真的帮了(和工作)!
更新:我看了一下代码,我认为,当你重新绑定,你缺少重新绑定到该功能。
的jsfiddle
function loadMore()
{
console.log("More loaded");
$("body").append("<div>");
$(window).bind('scroll', bindScroll);
}
function bindScroll(){
if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
$(window).unbind('scroll');
loadMore();
}
}
$(window).scroll(bindScroll);
这将帮助你。
<script type="text/javascript">
var sIndex = 11, offSet = 10, isPreviousEventComplete = true, isDataAvailable = true;
$(window).scroll(function () {
if ($(document).height() - 50 <= $(window).scrollTop() + $(window).height()) {
if (isPreviousEventComplete && isDataAvailable) {
isPreviousEventComplete = false;
$(".LoaderImage").css("display", "block");
$.ajax({
type: "GET",
url: 'getMorePosts.ashx?startIndex=' + sIndex + '&offset=' + offSet + '',
success: function (result) {
$(".divContent").append(result);
sIndex = sIndex + offSet;
isPreviousEventComplete = true;
if (result == '') //When data is not available
isDataAvailable = false;
$(".LoaderImage").css("display", "none");
},
error: function (error) {
alert(error);
}
});
}
}
});
</script>
通过这个链接,整篇文章和细节如何触发多个事件去。
当浏览器滚动到jQuery中尾页加载更多内容
我有同样的问题。 为了解决这个问题,即时通讯使用underscore.js库,以防止点火多个事件。 链接在这里。 http://underscorejs.org/#throttle
文章来源: jQuery load content when scroll to bottom-100px of page, multiple events fired