pbootcms ajax 无刷新加载下一页技术
时间:2023年09月24日
/来源:网络
/编辑:佚名
js代码:
//先定义一些基本的内容
//Page就是第几页,由当前页{page:current} + 1,就是第二页,parseInt确保该数值是Int类型。
var Page = parseInt('{page:current}') + 1;
//Num就是每页几条信息,因为列表默认显示的是2条,所以这里设为2,结合上面的第二页实际上就是从第三条信息开始读取。
var Num = 6;
//定义内容的Dom位置,也就是读取出来的内容要添加到哪个div里面去。
var Dom = jQuery('#listbox');
jQuery(window).scroll(function(){
//当前窗口和页面顶部的距离
var WindowTop = jQuery(window).scrollTop();
//可视窗口区域高度
var WindowHeight = jQuery(window).outerHeight();
//页面的高度
var DocHeight = jQuery(document).height();
//定义一个开关
var load = true;
//定义当前栏目id
var Scodeid = {sort:scode};
//判断:(窗口与页面顶部距离 + 窗口高度) >= 页面的高度(也就是滚动到页面底部的时候),并且开关是开启状态,执行ajax加载内容
if( ( WindowTop + WindowHeight ) >= DocHeight && load == true ){
//先构建Api的地址,具体的Api地址参数,请参考官方手册。
var url = '/api.php/list/' + Scodeid + '/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="col-12 col-sm-6 col-md-4 p-3"> <a href="' + value.link + '"><img src="' + value.ico + '" alt=""></a><a href="[list:link]"><h3>' + value.title + '</h3></a></div>';
Dom.append( Html );
});
//分页+1,下次获取下一页的内容
Page += 1;
//设置开关状态为开启,进行下次加载
load == true;
}
},
//请求失败
error: function( xhr, status, error ){
//返回数据异常
console.log( error );
}
})
}})
//先定义一些基本的内容
//Page就是第几页,由当前页{page:current} + 1,就是第二页,parseInt确保该数值是Int类型。
var Page = parseInt('{page:current}') + 1;
//Num就是每页几条信息,因为列表默认显示的是2条,所以这里设为2,结合上面的第二页实际上就是从第三条信息开始读取。
var Num = 6;
//定义内容的Dom位置,也就是读取出来的内容要添加到哪个div里面去。
var Dom = jQuery('#listbox');
jQuery(window).scroll(function(){
//当前窗口和页面顶部的距离
var WindowTop = jQuery(window).scrollTop();
//可视窗口区域高度
var WindowHeight = jQuery(window).outerHeight();
//页面的高度
var DocHeight = jQuery(document).height();
//定义一个开关
var load = true;
//定义当前栏目id
var Scodeid = {sort:scode};
//判断:(窗口与页面顶部距离 + 窗口高度) >= 页面的高度(也就是滚动到页面底部的时候),并且开关是开启状态,执行ajax加载内容
if( ( WindowTop + WindowHeight ) >= DocHeight && load == true ){
//先构建Api的地址,具体的Api地址参数,请参考官方手册。
var url = '/api.php/list/' + Scodeid + '/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="col-12 col-sm-6 col-md-4 p-3"> <a href="' + value.link + '"><img src="' + value.ico + '" alt=""></a><a href="[list:link]"><h3>' + value.title + '</h3></a></div>';
Dom.append( Html );
});
//分页+1,下次获取下一页的内容
Page += 1;
//设置开关状态为开启,进行下次加载
load == true;
}
},
//请求失败
error: function( xhr, status, error ){
//返回数据异常
console.log( error );
}
})
}})
新闻资讯 更多
- 【pbootcms教程】pbootcms模板制作教程-首页Banner轮播如何制作01-28
- 【pbootcms教程】Pbootcms内容轮播多图添加自定义图片名称01-28
- 【pbootcms教程】PbootCMS二开之邮件配置修改发件人信息01-27
- 【pbootcms教程】PbootCMS实现详情页链接不带父级目录直接ID访问教程01-27
- 【pbootcms教程】PbootCMS后台增加轮播图自定义分组名称01-27
- 【pbootcms教程】PbootCMS用扩展标签定制一个每日一图01-27
- 【pbootcms教程】PbootCMS会话目录写入权限不足解决办法01-27
- 【pbootcms教程】php多图片上传的实现(pbootcms多图上传)01-24
猜你需要
热门文章
- 178Moban源码谈谈免费源码与收费源码的区别
- 2帝国CMS忘记后台登陆用户名、密码、认证码的解决方法
- 3帝国CMS(EmpireCMS) v7.5后台任意代码执行漏洞及具体修复方法
- 4帝国CMS和WordPress 哪个好?哪个适合建站?
- 5如何解决Discuz的密码错误次数过多请15分钟后登陆的问题
- 6帝国cms灵动标签取得内容和栏目链接地址
- 7emlog pro 注册码“开心”教程(如果有一天,emlog官方版 或者 emlog免费版 跑路了,那用户怎么办?)
- 8织梦CMS在nginx下设置伪静态方法(附nginx伪静态规则)
- 9帝国cms后台登录出现”您还未登录”怎么解决?
- 10帝国cms7.5忘记登录密码 和忘记登录认证码以及多次登录 失败被锁定解决办法