千家信息网

如何使用amaze ui分页样式封装个通用的JS分页控件

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇"如何使用amaze ui分页样式封装个通用的JS分页控件"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,
千家信息网最后更新 2025年01月21日如何使用amaze ui分页样式封装个通用的JS分页控件

这篇"如何使用amaze ui分页样式封装个通用的JS分页控件"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"如何使用amaze ui分页样式封装个通用的JS分页控件"文章吧。

第一步:

找到UI的分页HTML代码,一共有2种

UI的分页代码:

代码简单,外观漂亮,自然是封装的首选啦。

接下来,就是造轮子的时间了,首先讲讲思路:我们需要一个动态的分页,那么这个里面的 li 就必须是动态生成的,所以需要用js去生成dom元素,其次,使用者需要一个回调函数,用来分页之后去请求他的数据,加载数据,这是核心的2个思路,剩下的就是分页常规的一些东西,比如分页必须的参数:当前页、每页条数、总条数,以及这个样式对应的一些事件的处理:首页、尾页、上一页、下一页。

思路整理完毕,开整。

1、初始化

init初始化函数,里面将使用者传入进来的参数赋值,并计算下总页数,总页数说明下,我是以0为第一页,所以总页数为 总条数/每页条数 使用Math.ceil 向上取整 -1 即为总页数。

function fm_page(cnf) {    var fmpage = {        id:'page',        pageNo : 0,// 当前页        pageSize : 10,// 每页条数        pageCount : 100,// 总条数        showPageNum : 5,// 分页元素长度        pageNum:0,// 总页数        pageCmp:null,        start:0,        init : function() {             var it = this;             if (cnf) {                 $.each(cnf, function(k, v) {                     it[k]=v;                 });             }            this.pageNum=Math.ceil(this.pageCount/this.pageSize)-1;        }    }    fmpage.init();    return fmpage;}

2、js动态加载li

根据使用者想显示的数量动态加载li,start 为li的起始数字:

renderPage:function(start) {             this.start = start || 0;             this.pageCmp=$("#"+this.id);             this.pageCmp.empty();             this.pageCmp.append('
  • 第一页
  • '.replace('{0}',this.id+'.toFirst()')); this.pageCmp.append('
  • 上一页
  • '.replace('{0}',this.id+'.toPrev()')); var endNum=this.pageCount/this.pageSize>(this.showPageNum+this.start)?(this.showPageNum+this.start):this.pageCount/this.pageSize;// 截止元素 for(var i=this.start;i下一页'.replace('{0}',this.id+'.toNext()')); this.pageCmp.append('
  • 最末页
  • '.replace('{0}',this.id+'.toLast()')); }

    3、首页、尾页、下一页、上一页、跳转等函数:

    toNext:function(){            this.pageNo = this.pageNo==this.pageNum?this.pageNo:this.pageNo+1;            if(this.pageNo>=this.start+this.showPageNum&&this.pageNo<(this.pageNum)){                this.start=this.start+this.showPageNum;                this.renderPage(this.start);            }                            if(this.pageNo<=(this.pageNum))                this.liCls();        },        toPrev:function(){            this.pageNo = this.pageNo==0?0:this.pageNo-1;            if(this.pageNo<(this.start)){                this.start=this.start-this.showPageNum;                this.renderPage(this.start);            }            if(this.pageNo>=0)                this.liCls();        },        toFirst:function(){            this.pageNo=0;            if(this.pageNo<(this.start)){                this.start=0;                this.renderPage(this.start);            }            this.liCls();        },        toLast:function(){            this.pageNo=this.pageNum;            if(this.pageNo>=this.start+this.showPageNum){                this.start=this.pageNum-this.showPageNum+1;                this.renderPage(this.start);            }            this.liCls();        },        toPage:function(pageNo){            this.pageNo=pageNo;            this.liCls();        },

    4、跳转后要将某页选中,并调用回调函数

    liCls : function() {            this.pageChange(this.pageNo);            this.pageCmp.find('li:eq(' + (this.pageNo - this.start + 2) + ')')                        .siblings('li').removeClass(this.choseClass).end()                        .addClass(this.choseClass);        },        pageChange:function(pageNo){                    }

    5、经过测试,调整、优化,没有发现问题,编写注释,这个分页控件

    使用注意:调用必须实例化,且接收参数名与ul的id一致

    优点:a、本身使用妹子ui,漂亮、代码简洁

       b、经封装后,调用简单,无暗病

       c、还支持自定义样式,只需要你在ul上绑定你自己想要的class,并配置选择效果class即可

    以上就是关于"如何使用amaze ui分页样式封装个通用的JS分页控件"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

    样式 封装 内容 页数 控件 代码 函数 动态 上一 使用者 元素 参数 就是 思路 漂亮 数据 文章 知识 篇文章 首页 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 关系数据库中对象对应 国家网络安全的启示 前端和网络安全哪个适合零基础 北京惠通世纪网络技术有限公司 数据库的并发控制 完整版 第六届网络安全等级保护会议 余姚知名软件开发 网络安全测试报告第三方 上海宏云软件开发官网 vss怎么看数据库路径 服务器配置参数详解跟价格 服务器租用排行 在校大学生软件开发 软件开发小白变大佬教学 方舟进化请确保服务器 小米手机数据库修改 河北数据库空投箱批量定制 南宁网络安全工程师招聘 数世咨询网络安全 hp服务器可以装win7系统吗 操作数据库的技术有哪些 网络技术对人类社会的影响 信阳职业学院网络安全专业好吗 甘肃网络安全审判庭在高院揭牌 网络安全靠大家 手抄报图片 计算机网络安全与应用前景 网络安全相关的小论文100字 霸州学软件开发 解决服务器读写瓶颈 App与服务器端接口安全
    0