2016-05-18 11 views
1

フロントエンドのすべてのワードプレスのポストにアコーディオン効果のために次のjQueryを使用しています。jQueryとjetpackの無限のスクロールを組み合わせる

(function($) { 
    function initAccordion() { 
     var $ele = $('.entry-content').hide(); 
     $(".entry-header").unbind('click').click(function(e) { 
      e.preventDefault(); 
      var $ele1 = $(this).parents(".post").children('.entry-content').slideToggle('fast'); 
      $ele.not($ele1).slideUp(); 
     }); 
    } 

    initAccordion(); 

    $(document.body).on('post-load', function() { 
     initAccordion(); 
    });  
})(jQuery); 

私はスクリプトがinfinite scrollで動作するように取得しようとしていますが、私は私が解決するかどうかはわからない問題を抱えています。

無限スクロールは、ページの下部までスクロールすると自動的に古い投稿を表示するように機能します。これは意図したとおりに動作します。

提供されたコードのjQueryは、投稿のタイトルをクリックすると、一度に1つの投稿を表示するように機能します。問題は、無限のスクロールで新しいページにスクロールすると、開いている投稿が自動的に閉じられることです。

Live example hereを使用すると、私の言いたいことが分かります。投稿を開き、URLが.../page/2/と表示され、開いた投稿が閉じられるまでスクロールしてください。

新しいページにスクロールするときに開いた商品が閉じられないようにするにはどうすればよいですか?

答えて

0

この行を変更してみてください:代わりに、両親の

var $ele = $('.entry-content').hide();

+0

var $ele = $('.entry-content').not('[data-did-load]').hide().attr("data-did-load", true);

に別の事を、最も近い( 'ポスト ')を使用することを好む(' ポスト。')最も近いあなたのケースに合うように –

+0

これは、並べ替えの作品です。しかし、一度に1つの投稿だけを表示したいと思います。ここの例:https://jqueryui.com/accordion/ – Arete

+0

ここで親密な/親と何を意味するのか分かりませんか? – Arete

関連する問題