0

無限スクロールを開始するための [もっと見る] ボタンを設定しようとしています。ボタンをクリックすると、最後まで無限スクロールする必要があります。

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 成功関数が 2 回呼び出され、結果が 2 回追加されます。私が間違っていることはありますか、これを設定するためのより良い方法はありますか?

4

1 に答える 1