【发布时间】:2012-11-25 20:21:56
【问题描述】:
我正在关注this railscast,试图在我的 Rails 应用程序上实现无限滚动页面。当用户向下滚动到页面底部时,会附加一组新的项目并且页面会扩展,但是它会多次附加到页面,并且即使数组中的所有项目都已加载,事件也会在向下滚动时再次触发, 将同一组项目再次附加多次。
我想要的是每次用户滚动到底部时附加项目的“下一页”,并在用户再次滚动到底部时附加后续页面。
这里是这个函数的 jQuery:
jQuery ->
if $('.pagination').length
$(window).scroll ->
url = $('.pagination .next_page').attr('href')
if url && $(window).scrollTop() > $(document).height() - $(window).height() - 50
$('.pagination').text('Fetching more products...')
$.getScript(url)
$(window).scroll()
这里是对应的javascript
$('#products').append('<%= j render(@products) %>');
<% if @products.next_page %>
$('.pagination').replaceWith('<%= j will_paginate(@products) %>');
<% else %>
$('.pagination').remove();
<% end %>
【问题讨论】:
-
你可以用Waypoints,很不错
标签: javascript jquery ruby-on-rails coffeescript will-paginate