4

コメントシステムで ajax 無限スクロールを使用しています。ユーザーが新しいコメントを投稿するまで問題なく動作します。これにより、無限スクロールが中断されます。「さらにアイテムを読み込む」リンクは引き続き表示されますが、クリックしても何も起こりません。

この質問を見ました: AJAX 呼び出し後の無限スクロールのリセット/無効化

destroy および bind を成功メソッドに実装しようとしましたが、loadmoreitems リンクが応答しません。ユーザーが以下のコードでコメントを投稿した後、無限スクロールをリセットするにはどうすればよいですか?

アヤックス:

<script>
$(document).ready(function(){
$('#commentform').on('submit',function(e) {

$.ajax({
    url:'ajaxrequest.php',
    data:$(this).serialize(),
    type:'POST',
    dataType: 'HTML',
    success:function(data, response){

ias.destroy(); 

$("#posts").fadeOut(300);       
$('#posts').html(data)
$("#posts").fadeIn(500);
$('html, body').animate({ scrollTop: $('#posts').offset().top - 100 }, 'fast');

ias.bind(); 

 jQuery.ias({
  container: "#posts",
  item: ".post",
  pagination: "#pagination",
  next: ".next a"
});
    },
    error:function(data){
        $("#error").show().fadeOut(5000);
    }
    });

e.preventDefault();
return false;

});
});
</script>
4

1 に答える 1

1

読み込み時にスクロールを初期化するときは、それを ias という変数に格納したことを確認してください。このようなもの

var ias = jQuery.ias({
  container: "#posts",
  item: ".post",
  pagination: "#pagination",
  next: ".next a"
});

そして、成功したメソッドでは、前に行ったようにias.destroy();andias.bind();メソッドのみを呼び出します。

コードで再度行われる初期化を削除します。

jQuery.ias({
  container: "#posts",
  item: ".post",
  pagination: "#pagination",
  next: ".next a"
});
于 2014-11-25T12:07:27.600 に答える