Typecho 主题文章列表下拉加载功能的解决方案
AI 摘要
本文给出 Typecho 主题实现下拉懒加载的完整方案:保留原生 pageLink('next') 生成隐藏翻页按钮,jQuery 监听其点击事件,通过 Ajax 抓取下一页 HTML,提取 .dynamic-item 追加至列表尾部,并动态更新按钮链接,无新页时提示“加载到底”,无需刷新即可无限滚动。
最近在开发一套仿制微信朋友圈 UI 的 Typecho 主题,首页输出动态信息,此时如果在列表底部添加翻页按钮的话,就显得极为不美观,所以想到了可以用下拉懒加载的方式加载下一页的内容。
在底部适当的位置添加下一页按钮的代码:
<?php $this->pageLink('点击查看更多', 'next') ?>其实际输出效果为:
<a class="next" title="" href="下一页的链接">点击查看更多</a>首页文章列表区域的结构:
<section class="dynamic">
<!--朋友圈动态数据-->
<div class="dynamic-item">
<!--文章内容-->
</div>
</section>JavaScript 部分:
$('.loading a.next').click(function() {
$this = $(this);
// href:获取下一页的链接
var href = $this.attr('href');
if (href != undefined) {
// 如果有下一页的链接,则异步请求下一页数据
$this.addClass('loading').text('正在努力加载');
$.ajax({
url: href,
type: 'get',
success: function(data) {
$this.removeClass('loading').text('点击查看更多');
// 取出所有的朋友圈动态数据
var $res = $(data).find('.dynamic-item');
// 追加到文章区域里面的最后面
$('.dynamic').append($res.fadeIn(500));
// 更新下一页链接
var newhref = $(data).find('a.next').attr('href');
if (newhref != undefined) {
$('a.next').attr('href', newhref);
} else {
$('a.next').text('加载到底了~');
$('a.next').removeAttr("href");
}
}
});
}
return false;
});大功告成。
如无特殊说明,网站中的系列文章均为作者「@多仔」原创编辑,版权归作者「@多仔」所有,资源引用部分已注明来源,AIGC 创作部分已注明标识,拒绝未经授权的任何个人或组织以任何形式转载、复制、修改、发布或用于商业目的。
文章中可能会存在些许错别字内容描述不完整、表述不准确、排版布局异常等问题,文章中提及的软件、依赖、框架等程序可能随其版本更新迭代而产生变化,文章中的相关代码片段、例图、文本等内容仅供参考。
如若转载,请注明出处:https://www.duox.dev/post/59.html
文章中可能会存在些许错别字内容描述不完整、表述不准确、排版布局异常等问题,文章中提及的软件、依赖、框架等程序可能随其版本更新迭代而产生变化,文章中的相关代码片段、例图、文本等内容仅供参考。
如若转载,请注明出处:https://www.duox.dev/post/59.html
- 上一篇:没有了
- 下一篇:微信前端之在微信浏览器内禁用网页分享菜单的解决方案