我正在尝试设置一个show more按钮来启动无限滚动。单击按钮后,它应该无限滚动直到结束。
function infiniteScroll() {
var postHolder = document.getElementById('postHolder');
var articleCount = postHolder.getElementsByTagName('article').length + 1;
$.ajax({
url: "/handlers/InfiniteScroll.ashx?page=" + articleCount + "",
contentType: "text/html; charset=utf-8",
dataType: "html",
success: function (data) {
if (data != "") {
$('.posts-holder .article:last').after(data);
}
}
});
};
$("#showMore").click(function () {
infiniteScroll();
$(window).scroll(function () {
var wintop = $(window).scrollTop(), docheight = $(document).height(), winheight = $(window).height();
var scrolltrigger = 0.95;
if (((wintop / (docheight - winheight)) > scrolltrigger) && test == 1) {
infiniteScroll();
}
});
$('#showMore').hide();
});
但由于某些原因,使用此代码,ajax成功函数被调用两次,结果会被追加两次。有什么我做错了还是有更好的方法来设置它?
答案 0 :(得分:0)
我想通了,那是var scrolltrigger = 0.95;关于高度的事情导致它运行两次。