0

チュートリアルhttp://railscasts.com/episodes/114-endless-page-revised?view=asciicastから無限のページスクロールを作成しましたが、動作します。

しかし、問題は、この JavaScript がすべてのページに対してエンドレス ページを実行することです (他のページであっても)。たとえば、メッセージ ボックスをエンドレスにページ付けしようとします。

このためのスクリプトは非常に単純だと思いますが、私はJavaScriptの初心者であり、プロジェクトのすべてのwill_paginateではなく、選択したページのみを無限にスクロールするようにスクリプトに指示する方法を知りません。JS ファイル $('.paginate) で、すべての paginate クラスに対してスクリプトを実行するように指示します。

ヒントにとても感謝します。

ERB の JS:

$('.profile_list').append('<%= j render(@users) %>');

<% if @users.next_page %>

  $('.pagination').replaceWith('<%= j will_paginate(@users) %>');
<% else %>
  $('.pagination').remove();
<% end %>

そして JS i JS ファイル:

if ($('.pagination').length) {
$(window).scroll(function() {
  var url;
  url = $('.pagination .next_page').attr('href');

  if (url && $(window).scrollTop() > $(document).height() - $(window).height() - 50) {
    //$('.pagination').text('Fetching more products...')
    $.getScript(url)
4

1 に答える 1

0

そのjsを必要なページにのみ含めて、application.jsファイルから削除し、次のように手動でページに追加してみてください。

javascript_include_tag "yourjs.js"

この質問の良い例を次に示します: Rails 3.1 Pipeline - Exclude Javascript File

チェックされた答えを読む

于 2013-08-12T19:20:54.100 に答える