4

わかりました。クラス名「more_updates」のリンクがあります。ユーザーがページの 80% に到達するたびに、さらに読み込むリンクが自動的にトリガーされるようにします。

50件の商品を出品しています。各行には、画像付きの 5 つの製品が含まれています。下部に、さらにリンクをロードしています。ユーザーが 7 行目または 8 行目に到達すると、さらに読み込むリンクが自動的にトリガーされます。これは私が使用しているコードです。しかし、それはより多くの製品をロードしています。このコードの何が問題なのか教えてください。ありがとう

<!-- language: lang-js -->
    $(window).scroll(function(){
            if  ($(window).scrollTop() >= ($(document).height() / 2) - $(window).height()){
                if (!flag) {           
                      // if is not loading data, start the call
                      $('.more_updates').click();      // to invoke the click event of loading updates
                }
            }
    });
4

1 に答える 1

1

クリックイベントを間違った方法でトリガーしていると思います(あなたの場合、ユーザーではなくスクロールメソッドによってトリガーされるため)。$('.more_updates').click();に変更$('.more_updates').trigger("click");

.trigger() への呼び出しは、イベントがユーザーによって自然にトリガーされた場合と同じ順序でハンドラーを実行します。

ここでもっと読む

編集/更新:

クリック イベントでのイベント バブリングを停止します。

...
$('.more_updates').live("click", function (e) {
e.stopImmediatePropagation()
...

ここでもっと読む

.show_moreまた、結果条件が満たされない場合のアンバインド/ダイ クリック イベント:

else { 
  $(".morebox").html('No More Results.'); // no results
  $('.more_updates').die("click");
}

ここでもっと読む

于 2011-07-28T21:58:06.260 に答える