有没有人可以协助我设置我的js.erb文件来涵盖两个场景。
目前,当页面最初加载时我有无限滚动工作,但是当我更改params时,新集合加载正常,但是当我向下滚动页面以加载其余结果时,我只得到下一组6对象替换最后一个,而不是将它们附加到最后
rehome.js.erb
$('.all_animals').append("<%= j render @animals %>");
<% if @animals.next_page %>
$('.pagination').replaceWith('<%= j will_paginate @animals %>');
<% else %>
$(window).off('scroll');
$('.pagination').empty();
<% end %>
的Javascript
function infiniteScroll() {
if($('#infinite-scrolling').size() > 0) {
$(window).on('scroll', function(){
//Bail out right away if we're busy loading the next chunk
if(window.pagination_loading){
return;
}
more_url = $('.pagination a.next_page').attr('href');
if(more_url && $(window).scrollTop() > $(document).height() - $(window).height() - 50){
//Make a note that we're busy loading the next chunk.
window.pagination_loading = true;
$('.pagination').text('Loading.....');
$.getScript(more_url).always(function(){
window.pagination_loading = false;
});
}
});
}
}
所以在页面加载时我调用函数
$(function(){
infiniteScroll();
});
并作为ajax成功回调
success: function(data) {
infiniteScroll();
}
当进行ajax调用时,params:rehomed总是存在,所以我可以将单独的逻辑包装在
中<% if params[:rehomed].present? %>
<% end %>
有没有人有任何想法来处理我的rehome.js.erb文件中新加载的内容
由于
更新
所以在页面加载时我需要这个是逻辑
$('.all_animals').append("<%= j render @animals %>");
<% if @animals.next_page %>
$('.pagination').replaceWith('<%= j will_paginate @animals %>');
<% else %>
$(window).off('scroll');
$('.pagination').empty();
<% end %>
当我需要对集合进行更新时
$('.all_animals').empty();
$('.all_animals').append("<%= j render @animals %>");
<% if @animals.next_page %>
$('.pagination').replaceWith('<%= j will_paginate @animals %>');
<% else %>
$(window).off('scroll');
$('.pagination').empty();
<% end %>
如何将它们组合成一个语句就是我想要解决的问题