结合jQuery和jetpack无限滚动

Combine jQuery and jetpack infinite scroll

本文关键字:无限 滚动 jetpack jQuery 结合      更新时间:2023-09-26

我使用下面的jQuery在前端的所有wordpress帖子上获得手风琴效果。

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

我正试图让脚本使用无限滚动,但我有一个问题,我不知道如何解决。

当你滚动到页面底部时,无限滚动会自动显示旧帖子。这符合预期。

提供的代码中的jQuery的工作原理是,如果单击了帖子标题,则一次显示一篇帖子。问题是,当你无限滚动到一个新页面时,打开的帖子会自动关闭。

如果你在这里使用Live示例,你可以明白我的意思。尝试打开帖子,然后向下滚动,直到URL显示.../page/2/,您打开的帖子将被关闭。

滚动到新页面时,如何避免打开的文章被关闭?

尝试更改此行:

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

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