PbootCms制作ajax无刷新加载列表内容_PbootCMS教程


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' /}*后的分隔符&gt; _织梦CMS教程  织梦dedecms会员中心的收藏夹里收藏信息删不了的解决办法_织梦CMS教程  织梦dedecms 5.7怎样在任意位置显示自由列表标题+链接_织梦CMS教程  如何快速打造个性化非模板自助建站?  建站助手哪款好?一键生成+SEO优化免费神器推荐  织梦pagebreak分页控制数量教程_织梦CMS教程  如何选购建站域名与空间?自助平台全解析  织梦ckplayer播放器插件的自适应屏幕方法_织梦插件  织梦全站动静态一键设置插件_织梦插件  全球各国上班时间表外贸邮件时间  织梦dedecms*常见11个漏洞修复教程_织梦CMS教程  本地安装配置PHP环境phpnow1.5.6教程_织梦CMS教程  如何通过西部数码建站助手快速创建专业网站? 

 2022-04-03

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

南京市珐之弘网络技术有限公司


南京市珐之弘网络技术有限公司

南京市珐之弘网络技术有限公司专注海外推广十年,是谷歌推广.Facebook广告全球合作伙伴,我们精英化的技术团队为企业提供谷歌海外推广+外贸网站建设+网站维护运营+Google SEO优化+社交营销为您提供一站式海外营销服务。

 87067657

 13565296790

 87067657@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.