轨道无尽的滚动与kaminari,事件不触发

时间:2014-07-28 16:08:11

标签: javascript ruby-on-rails ruby-on-rails-3 kaminari railscasts

让Ryan Bates完成了无休止的滚动教程,并且不理解它为什么不工作; / partial不会更新

localfeeds / show.html.erb

<div class="row">
        <div class="col-md-8">
            <div id="infinite-table">
            <%=render :partial => 'scribbles/scribbles', :locals => {:scribbles => @scribbles}%>
            </div>
        </div>
</div>
<%= paginate @scribbles %>

localfeeds.js.coffee

jQuery ->
     if $('.pagination').length
          $(window).scroll ->
                  url = $('.pagination .next a').attr('href')
                  if url &&  $(window).scrollTop() > $(document).height() - $(window).height() - 50
                          alert("test2")
                          $('.pagination').text('Fetching more products...')
                          $.getScript(url)
     $(window).scroll()  

localfeeds / show.js.erb

// Append new data
$('#infinite_table').append('<%= j render(:partial => 'scribbles/scribbles', :scribbles => @scribbles) %>');

<% if (@scribbles.current_page < @scribbles.num_pages) %>
$('.pagination').replaceWith('<%= j paginate(@scribbles) %>');
<% else %>
$('.pagination').remove();
<% end %>

请帮忙

Safari HTML渲染 html render error part

2 个答案:

答案 0 :(得分:2)

localfeeds / show.js.erb

// Append new data
$('#infinite_table').append(...

但在你的HTML中你有:

<div id="infinite-table" ....

第一个使用_,第二个 -

编辑:

根据您的评论,您的滚动检测代码中会出现错误。试试这个,看一下控制台输出的线索:

jQuery ->
     console.log("Creating pagination callback")
     if $('.pagination').length
          console.log("Pagination detected")
          $(window).scroll ->
                  console.log("Scroll detected")
                  url = $('.pagination .next a').attr('href')
                  if url &&  $(window).scrollTop() > $(document).height() - $(window).height() - 50
                          console.log("Url found: " + url)
                          $('.pagination').text('Fetching more products...')
                          $.getScript(url)
                          console.log("Script loaded")
     $(window).scroll()  

控制台日志语句中的哪些(如果有)会导致控制台日志中的条目?滚动页面时会发生什么?

答案 1 :(得分:0)

只是一个观察,但是在初始化代码中,$(window).scroll()在哪里被调用一次?

如果有分页数据,代码会创建方法,然后无论如何都调用它 - 再次调用它在哪里?此外,如果没有分页数据,第一次滚动调用将会中断......

如果没有更多代码,我就无法解决这个问题,而且可能只是我的图片不完整。