gpt4 book ai didi

jquery - 使用 ajax 内容重置无限滚动

转载 作者:行者123 更新时间:2023-12-01 01:33:22 36 4
gpt4 key购买 nike

我正在使用带有评论系统的ajax无限滚动。它工作正常,直到用户发布新评论 - 这会破坏无限滚动,“加载更多项目”链接仍然存在,但当您单击它时没有任何反应。

我看到过这个问题:Reset / disable infinite scroll after AJAX call

我尝试将销毁并绑定(bind)到我的成功方法中,但 loadmoreitems 链接没有响应。用户使用下面的代码发表评论后,如何重置无限滚动?

ajax:

<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>

最佳答案

当您在加载时初始化滚动时,请确保已将其存储在名为 ias 的变量中。像这样的事情

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

在 success 方法中,只需调用 ias.destroy();ias.bind(); 方法,就像您之前所做的那样。

删除代码中再次完成的初始化,即

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

关于jquery - 使用 ajax 内容重置无限滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27079154/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com