博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自制jq分页插件
阅读量:7049 次
发布时间:2019-06-28

本文共 3524 字,大约阅读时间需要 11 分钟。

由于第一次写jq插件,中间有借鉴别人的代码。

(function(){    var ms = {        fillHtml: function(obj, option) {            obj.empty();            var totalPage = option.pageCount,                pageHtml = "",                dotHtml = "
  • ...
  • ", tempHtml = ""; if (option.currentPage > 5) { tempHtml = "
  • 1
  • 2
  • ...
  • "; for(var i = option.currentPage - 2 ; i <= (option.currentPage + 2 > totalPage ? totalPage : option.currentPage + 2); i++) { var temp = "
  • " +i+ "
  • "; if (option.currentPage === i ) { temp = '
  • '+ i +'
  • '; } if (option.currentPage >= totalPage - 2) { dotHtml = ""; } pageHtml += temp; }; }else { for(var i = 1; i <= ( 6 > totalPage ? totalPage : 6); i++) { var temp = "
  • " +i+ "
  • "; if (option.currentPage === i ) { //添加选中蓝色背景 temp = '
  • '+ i +'
  • '; }; if (option.currentPage >= totalPage - 2) { dotHtml = ""; } pageHtml += temp; }; } pageHtml = '
    '; obj.append(pageHtml); }, bindEvent: function(obj, option) { $(obj).on("click",".page-num",function(){ if ($(this).parent("li") && $(this).parent("li").hasClass('current-page')) { return; } var current = Number( $(this).text() ); //点击的页数 ms.fillHtml(obj, {"currentPage": current, "pageCount": option.pageCount}); option.backFunction(); }); $(obj).on("click",".next-page",function(){ var current = Number( $(".current-page a").text() ); //下一页 if (current === option.pageCount){ return; } ms.fillHtml(obj, {"currentPage": current + 1, "pageCount": option.pageCount}); option.backFunction(); }); $(obj).on("click",".prev-page",function(){ var current = Number( $(".current-page a").text() ); //上一页 if (current === 1){ return; } ms.fillHtml(obj, {"currentPage": current-1, "pageCount": option.pageCount}); option.backFunction(); }); }, init: function(obj, option){ return (function(){ ms.fillHtml(obj, option); ms.bindEvent(obj, option); })(); } }; $.fn.creatPage = function(option) { var initOption = { pageCount: 10, currentPage: 1, backFunction: function(){} }; option.pageCount = Number(option.pageCount); option.currentPage = Number(option.currentPage); var option = $.extend(initOption, option); ms.init(this, option); }})()

    HTML

    用法

    $("#pageCont").creatPage({        pageCount: 18,            //总页数        currentPage: 1,            //当前选中页        backFunction: function(){    //回调函数                    }    });

    转载地址:http://dccol.baihongyu.com/

    你可能感兴趣的文章
    CSS相对定位和绝对定位
    查看>>
    断开TCP连接
    查看>>
    我的前端集成测试(一)- 认识node的assert模块
    查看>>
    【跃迁之路】【465天】程序员高效学习方法论探索系列(实验阶段222-2018.05.16)...
    查看>>
    spring4.x 集成quartz2.x 集群化配置项目实例
    查看>>
    Spring Boot 参考指南(开发者工具)
    查看>>
    TypeScript 2.9
    查看>>
    Linux 程序包的管理
    查看>>
    JavaScript 异步、栈、事件循环、任务队列
    查看>>
    图解 React Virtual DOM
    查看>>
    Day08 - HTML5 Canvas 实现彩虹画笔绘画板指南
    查看>>
    Spring Boot [组件学习-Spring Data JPA]
    查看>>
    百度云磁盘CDS、对象存储BOS技术深度解析
    查看>>
    Deno:来自Node之父的V8 TypeScript运行时
    查看>>
    姜宁谈红帽绩效考核:不关心员工具体做什么
    查看>>
    Trello中的Scrum
    查看>>
    Pivotal发布了具有新应用程序托管工具的Spring Cloud Data 1.6
    查看>>
    Scala类型系统的目的——Martin Odersky访谈(三)
    查看>>
    无服务器计算的黑暗面:程序移植没那么容易
    查看>>
    Ockam为物联网设备带来区块链无服务器身份识别
    查看>>