我的 AJAX 加载更多功能没有正确检查帖子的结尾 - 如果没有帖子,它会再显示一次预加载器。这是由于每次在发送 ajax 请求之前删除 pleroader 的隐藏类造成的。我应该如何检查帖子的结尾是否正确?AJAX如果响应为 0 - 只需隐藏预加载器。因此,在不应该显示的情况下,会再次显示预加载器。 var page = 3; var emptyQuery = false; function load_posts() { page++; var category = $('.cat-list__item.active').data('category'); $.ajax({ url: flow.ajax_url, type: 'POST', beforeSend: function (jqXHR) { $('body').addClass('loading'); if ($('.preloader').length) { $('.preloader').removeClass('preloader--hidden'); } }, data: { action: 'scroll_post_load', page: page, category: category }, success: function (response) { if ( response==0 ) { emptyQuery = true; if ($('.preloader').length) { $('.preloader').addClass('preloader--hidden'); } } else { if ($('.preloader').length) { $('.preloader').addClass('preloader--hidden'); } var html = response; $(html).hide().appendTo('.posts-list').fadeIn(1000); } $('body').removeClass('loading'); } }); } // Scripts which runs on scrolling $( window ).on( 'scroll', function() { if( $(window).scrollTop() > $('.posts-list').height() && !$('body').hasClass('loading')) { if(emptyQuery == false) { load_posts(); } } } );
1 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
如果您只是在响应中返回页面总数,然后在脚本中检查下一页是否是最后一页或其他内容,则可以解决此问题。
这就是我通常这样做的方式。我总是随内容一起返回最大页数,以便我可以检查是否需要最后一次执行 AJAX 调用。
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报
0/150
提交
取消