MENU

typecho实现点击加载更多文章

• August 10, 2020 • Note

纯属记着自己看的,功能这东西就跟搭积木一样,缺什么装什么。“程序基本上不是写出来的,而是粘贴过来,重新排列组合一番,再敲上几个语句补充修正一下,就算大功告成。”张戈博客里的一句话,我觉得我就这样折腾的。

首先找到index.php,然后把主题默认的分页导航的容器换成下面的容器。

<?php $this->pageLink(‘点击查看更多’,’next’); ?>
<!-- wordpress用这个 -->
<?php next_posts_link(__('点击查看更多')); ?>`

然后找到你主题的footer.php,把下面的js代码丢</body>前面进去就可以了。

<script type="text/javascript">
    //点击加载更多
    jQuery(document).ready(function($) {
        //点击下一页的链接(即那个a标签)
        $('.next').click(function() {
            $this = $(this);
            $this.addClass('loading').text('正在努力加载'); //给a标签加载一个loading的class属性,用来添加加载效果
            var href = $this.attr('href'); //获取下一页的链接地址
            if (href != undefined) { //如果地址存在
                $.ajax({ //发起ajax请求
                    url: href,
                    //请求的地址就是下一页的链接
                    type: 'get',
                    //请求类型是get
                    error: function(request) {
                        //如果发生错误怎么处理
                    },
                    success: function(data) { //请求成功
                        $this.removeClass('loading').text('点击查看更多'); //移除loading属性
                        var $res = $(data).find('.post'); //从数据中挑出文章数据,请根据实际情况更改
                        $('#content').append($res.fadeIn(500)); //将数据加载加进posts-loop的标签中。
                        var newhref = $(data).find('.next').attr('href'); //找出新的下一页链接
                        if (newhref != undefined) {
                            $('.next').attr('href', newhref);
                        } else {
                            $('.next').remove(); //如果没有下一页了,隐藏
                        }
                    }
                });
            }
            return false;
        });
    });
    </script>

css美化按钮:这里就不写了。每个主题风格都不一样,还是自己自定义吧。

Last Modified: August 12, 2020