Javascript 无限滚动显示更多按钮

Javascript 无限滚动显示更多按钮,javascript,jquery,ajax,infinite-scroll,Javascript,Jquery,Ajax,Infinite Scroll,我正在尝试设置一个显示更多按钮来启动无限滚动。单击按钮后,它将无限滚动直到结束 function infiniteScroll() { var postHolder = document.getElementById('postHolder'); var articleCount = postHolder.getElementsByTagName('article').length + 1; $.ajax({ url: "/handlers/Infin

我正在尝试设置一个显示更多按钮来启动无限滚动。单击按钮后,它将无限滚动直到结束

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成功函数会被调用两次,结果会被追加两次。是我做错了什么,还是有更好的方法来设置它?

我发现了,是var scrolltrigger=0.95;高度的原因导致它运行了两次。

是锚定标签吗?单击它是否会导致窗口滚动到顶部,从而导致窗口滚动事件并执行
infiniteScroll()
?它只是一个输入标记。谢谢如果页面一直滚动到底部,并且您隐藏了
#showMore
按钮,则会发生滚动事件。在绑定滚动事件之前隐藏按钮。我尝试了,但运气不好。似乎只调用了一次处理程序,但是调用了两次success函数。