千家信息网

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

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇"如何使用amaze ui分页样式封装个通用的JS分页控件"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,
千家信息网最后更新 2026年11月03日如何使用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安全错误 数据库的锁怎样保障安全 有格互联网科技 互联网是第几次科技革命的成果 远拓互联网科技 万达互联网科技 湖南洣水互联网科技有限公司扣款 小米互联网科技园设置 移动互联网科技股 互联网时代科技改变生活 互联网科技公司实习生 亳州好赞互联网科技有限公司 国大互联网教育科技有限公司薪资 启辰互联网科技 风投北京互联网科技 半导体行业属于互联网高科技类吗 互联网科技企业商标注意事项 米泉互联网科技专业怎么样 安徽零酒互联网科技有限公司 科技互联网专业工作会议发言稿 山东蛋芒互联网科技有限公司 互联网科技大会大佬 新华互联网科技 广州互联网科技公司 北京互联网科技有限公司 互联网科技公司官网 四个字互联网科技公司取名 小米互联网科技园设置 互联网科技与大数据专业 城市宝互联网科技有限公司 产业互联网科技服务公司 郑州欣桑互联网科技有限公司
    0