Ajax无刷新加载内容,看起来高大上一点,但是对SEO是不太友好的,所以在使用的时候应该有个取舍。

由于PbootCMS的Api接口的存在,在PbootCMS上实现Ajax加载还是比较方便的。
实现步骤
一、点击更多按钮加载内容
1、首先,添加一个按钮用来触发事件。
<button class="more" type="submit">点击加载更多</button>
2、添加默认显示的页面内容(只是演示,结构我就随意写了)
<div class="list">
{*pboot:list scode=3* num=2}
<div class="title">[*list:title*]</div>
<div class="desc">[*list:description*] </div>
<hr>
{*/pboot:list*}
</div>
3、js代码部分,先引入jQuery
//先定义一些基本的内容
//Page就是第几页,由当前页{page:current} + 1,就是第二页,parseInt确保该数值是Int类型。
var Page = parseInt('{page:current}') + 1;
//Num就是每页几条信息,因为列表默认显示的是2条,所以这里设为2,结合上面的第二页实际上就是从第三条信息开始读取。
var Num = 2;
//定义内容的Dom位置,也就是读取出来的内容要添加到哪个div里面去。
var Dom = jQuery('.list');
//接下来写在点击按钮('.more')的时候触发事件
jQuery('#More').on('click', function(){
//先构建Api的地址,具体的Api地址参数,请参考官方手册。
var url = '/api.php/list/3/page/' + Page + '/num/' + Num;
//开始Ajax提交请求,请求路径就是Api接口
jQuery.ajax({
//请求类型
type: 'POST',
//请求地址
url: url,
//返回数据类型
dataType: 'json',
//请求参数,参考官方Api手册
data: {
appid: '{*pboot:appid*}',
timestamp: '{*pboot:timestamp*}',
signature: '{*pboot:signature*}',
},
//请求成功
success: function( response, status ){
//定义Data变量为返回的数据
var Data = response.data;
if( response.code ){
//获取数据成功,进行循环,value就是文章对象
jQuery.each( Data, function( index, value ){
//将内容append到列表
var Html = '<div class="title">' + value.title + '</div><div class="desc">' + value.description + '</div><hr>';
Dom.append( Html );
});
//分页+1,下次获取下一页的内容
Page += 1;
} else {
//返回数据错误
jQuery('#More').html('<span>' + Data + '</span>');
}
},
//请求失败
error: function( xhr, status, error ){
//返回数据异常
console.log( error );
}
})
})完成,点击一下加载更多,页面就会无刷新加载2篇文章了。
二、页面滑动到底部加载更多文章
原理同上,只不过改变一下事件,原来是点击按钮触发的,改成滚动监听。
//使用jQuery的scroll()方法来监听页面滚动
jQuery(window).scroll(function(){
//当前窗口和页面顶部的距离
var WindowTop = jQuery(window).scrollTop();
//可视窗口区域高度
var WindowHeight = jQuery(window).outerHeight();
//页面的高度
var DocHeight = jQuery(document).height();
//定义一个开关
var load = true;
//判断:(窗口与页面顶部距离 + 窗口高度) >= 页面的高度(也就是滚动到页面底部的时候),并且开关是开启状态,执行ajax加载内容
if( ( WindowTop + WindowHeight ) >= DocHeight && load == true ){
//请求地址
var url = '/api.php/list/3/page/' + Page + '/num/' + Num;
//设置开关状态为关闭,防止重复加载
load = false;
jQuery.ajax({
//部分代码省略
......
success: function( response, status ){
var Data = response.data;
if( response.code ){
//获取数据成功
jQuery.each( Data, function( index, value ){
......
});
//设置开关状态为开启,进行下次加载
load == true;
//页码+1
Page += 1;
} else {
//返回数据错误
jQuery('#More').html('<span>' + Data + '</span>');
}
},
error:function( xhr, status, error ){ ...... }
})
}
})总结
Ajax并没有想象中的难度那么大,特别是有了PbootCMS的Api接口之后,获取数据更容易,使用更方便。
# PbootCMS教程
# 方法来
# 几条
# 第三条
# 写在
# 更容易
# 那么大
# 写了
# 分页
# 每页
# 是从
# 不太
# 设为
# PbootCms制作ajax无刷新加载列表内容
# PbootCms
# 加载
# 的是
# 下次
# 我就
# 就会
# 有个
# 下一页
# 网站推广模板源码
# 剧本杀如何营销推广
# 药店市场推广与营销计划
# 短剧营销号推广
# seo双向箭头
# 柳市网站建设价格
# seo站长之家av网址
# 网站营销推广葳昕hfqjwl
# 梦露电影网站建设
# 泗水线上seo公司
# 市场推广营销制度内容
# 重庆SEO教程画画软件
# 江西外贸网站优化
# 8x seo
# 营销推广主要包括智慧树
# 辛集软文网站推广的价格
# 拱墅区大关街道网站建设
# 怀化营销策划网站建设
# 宜春网站排名优化
# 淮安卖花网站建设
# 更方便
相关栏目:
【
Google疑问12 】
【
Facebook疑问10 】
【
网络优化91478 】
【
技术知识72672 】
【
云计算0 】
【
GEO优化84317 】
【
优选文章0 】
【
营销推广36048 】
【
网络运营41350 】
【
案例网站102563 】
【
AI智能45237 】
相关推荐:
如何快速搭建自助建站会员专属系统?
dedecms织梦相关文章标签likearticle调用自定义字段_织梦CMS教程
织梦cms建站优化之正确设置网站标题 _SEO优化教程
织梦自定义表单限制IP发表次数教程_织梦CMS教程
织梦dedecms上下篇文章标题长度修改_织梦CMS教程
如何在西部数码注册域名并快速搭建网站?
建站之星数据库连接失败?防火墙如何正确配置?
织梦让模型里的图片字段支持本地快速上传方法_织梦CMS教程
如何在IIS中新建站点并配置端口与IP地址?
如何在局域网内绑定自建网站域名?
建站之星服务器如何实现独立IP配置?
织梦去除推荐文章标题加粗标签的方法_织梦CMS教程
织梦列表页排序按权重排序修改方法_织梦CMS教程
如何快速生成可下载的建站源码工具?
如何在服务器上三步完成建站并提升流量?
如何零基础在云服务器搭建WordPress站点?
织梦{dede:channelartlist}标签与{dede:arclist}标签通过函数判断来实现不同样式方法_织梦CMS教程
建站云服务器如何选?阿里云、腾讯云哪家强?
如何快速搭建高效WAP手机网站吸引移动用户?
织梦同级栏目指定文章调用实现相关文章教程_织梦CMS教程
dedecms织梦二次开发独立点赞功能_织梦CMS教程
建站后如何快速上传程序文件?
建站代理平台哪家强?批量做词与精准选词实现霸屏效果
织梦dedecms默认作者和默认来源修改方法_织梦CMS教程
织梦全站伪静态设置+全套伪静态规则精华教程_织梦CMS教程
织梦官方php服务器环境DedeAMPZ安装教程_织梦CMS教程
建站助手安装教程:环境检测与PHP版本选择步骤详解
如何注册花生壳免费域名并搭建个人网站?
如何在宝塔面板中修改默认建站目录?
织梦去掉{dede:field.body/} 中的p元素_织梦CMS教程
织梦二次开发sitemap.html地图自动生成在根目录插件_织梦插件
织梦dedecms注入漏洞pm.php修复方法_织梦CMS教程
织梦如何去除img图片中的style width height属性_织梦CMS教程
如何在搬瓦工VPS快速搭建网站?
网站内链优化的几个重要方法_SEO优化教程
阿里云万网免费申请ssl证书教程_SEO优化教程
如何高效生成建站之星成品网站源码?
织梦如何去掉当前位置{dede:field name='position' /}*后的分隔符> _织梦CMS教程
织梦dedecms会员中心的收藏夹里收藏信息删不了的解决办法_织梦CMS教程
织梦dedecms 5.7怎样在任意位置显示自由列表标题+链接_织梦CMS教程
如何快速打造个性化非模板自助建站?
建站助手哪款好?一键生成+SEO优化免费神器推荐
织梦pagebreak分页控制数量教程_织梦CMS教程
如何选购建站域名与空间?自助平台全解析
织梦ckplayer播放器插件的自适应屏幕方法_织梦插件
织梦全站动静态一键设置插件_织梦插件
全球各国上班时间表外贸邮件时间
织梦dedecms*常见11个漏洞修复教程_织梦CMS教程
本地安装配置PHP环境phpnow1.5.6教程_织梦CMS教程
如何通过西部数码建站助手快速创建专业网站?
2022-04-03
南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。