怎么使用amaze ui的分页样式封装一个通用的JS分页控件

这篇文章给大家分享的是有关怎么使用amaze ui的分页样式封装一个通用的JS分页控件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

  首先,肯定是用UI做样式效果。

  第一步

    找到UI的分页HTML代码。

    

怎么使用amaze ui的分页样式封装一个通用的JS分页控件

    UI的分页代码

<ul data-am-widget="pagination"       class="am-pagination am-pagination-default"       >       <li class="am-pagination-first ">         <a href="#" class="">第一页</a>       </li>       <li class="am-pagination-prev ">         <a href="#" class="">上一页</a>       </li>             <li class="">               <a href="#" class="">1</a>             </li>             <li class="am-active">               <a href="#" class="am-active">2</a>             </li>             <li class="">               <a href="#" class="">3</a>             </li>             <li class="">               <a href="#" class="">4</a>             </li>             <li class="">               <a href="#" class="">5</a>             </li>       <li class="am-pagination-next ">         <a href="#" class="">下一页</a>       </li>       <li class="am-pagination-last ">         <a href="#" class="">最末页</a>       </li>   </ul>

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

    接下来,就是造轮子的时间了,首先讲讲思路:我们需要一个动态的分页,那么这个里面的 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

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。