【问题标题】:Infinite scrolling in RailsRails 中的无限滚动
【发布时间】:2014-02-04 06:15:28
【问题描述】:

我正在开发一个想要创建无限滚动的应用程序。我不想用插件来实现无限滚动。这是我的 .js.erb 文件:

  $("#container1").append("<%= escape_javascript(render 'shirts/first')%>");

<% if @first.next_page %>
  $('.pagination').replaceWith('<%= j paginate(@first) %>');
<% else %>
  $('.pagination').remove();
<% end %>
<% sleep 1 %>

这里是咖啡脚本代码:

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

我这样做是否正确,因为无限滚动不起作用。帮我解决这个问题,我是 Rails 新手!

【问题讨论】:

  • 你能自己点击 ajax url 并获得结果吗?查看日志以查看它是一个成功的请求。如果是这样 - 检查开发人员工具中的响应(它将在 javascript 中)并在控制台中尝试它以查看它对页面的作用。

标签: javascript ruby-on-rails coffeescript infinite-scroll


【解决方案1】:

除非我在您的计算机上,否则我无法调试它,但请尝试按照以下步骤操作:

  1. 当您通过 scrollTop 函数到达该窗口位置时,Console.log 事件,以确保它被触发。

  2. 检查您的 json 或 chrome 调试器中的任何响应,进入网络并观察 ajax 请求,确保 url 请求和请求类型正确。 (此错误可能出现在任何地方,从您的数据库到您的控制器和视图。)

  3. Console.log 请求的结果以确保数据是您需要的。

  4. 检查返回的html或者你想在控制台输出的html。

  5. 尝试将任何内容附加到指定的 div。

  6. 尝试使用 'escape javascript' 附加一些内容

  7. 不要跳过步骤。

干杯:)

【讨论】:

    猜你喜欢
    • 2015-04-01
    • 2014-02-26
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-23
    相关资源
    最近更新 更多