尝试使用will_paginate
使用无限页面来跟踪railscast 114的指南,但我从我的coffeescript中收到错误:
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()
在线:
if $('.pagination').length
我收到以下错误:
Uncaught TypeError: Cannot read property 'length' of null
似乎脚本没有读取我的索引文件,因为脚本找不到任何我的div-box ...
请帮助......一直坚持这个无尽页面的问题一周。
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()
答案 0 :(得分:1)
为了使其工作,您需要在加载DOM后执行选择器。你在第一行中正确定义了一个函数来实现它,但是这个函数(在document.ready
上执行)有一个空体。
简单来说,将除第一行之外的所有代码缩进一级。
答案 1 :(得分:0)
通过将coffeescript移动到application.js中,在jQuery中重写它然后调用var $ j = jQuery.noConflict();并在evert $ -sign前附加$ j标志。不知道为什么会这样。认为它与同时运行的多个脚本有关。
现在看起来像这样:
var $j = jQuery.noConflict();
$j(function() {
if ($j('.pagination').length) {
$j(window).scroll(function() {
var url;
url = $j('.pagination .next_page').attr('href');
if (url && $j(window).scrollTop() > $j(document).height() - $j(window).height() - 50) {
$j('.pagination').text("Fetching more products...");
return $j.getScript(url);
}
});
return $j(window).scroll();
}
})