资讯专栏INFORMATION COLUMN

自制jq分页插件

or0fun / 1387人阅读

摘要:由于第一次写插件,中间有借鉴别人的代码。添加选中蓝色背景上一页下一页点击的页数下一页上一页用法总页数当前选中页回调函数

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

</>复制代码

  1. (function(){
  2. var ms = {
  3. fillHtml: function(obj, option) {
  4. obj.empty();
  5. var totalPage = option.pageCount,
  6. pageHtml = "",
  7. dotHtml = "
  8. ...
  9. ",
  10. tempHtml = "";
  11. if (option.currentPage > 5) {
  12. tempHtml = "
  13. 1
  14. 2
  15. ...
  16. ";
  17. for(var i = option.currentPage - 2 ; i <= (option.currentPage + 2 > totalPage ? totalPage : option.currentPage + 2); i++) {
  18. var temp = "
  19. " +i+ "
  20. ";
  21. if (option.currentPage === i ) {
  22. temp = "
  23. "+ i +"
  24. ";
  25. }
  26. if (option.currentPage >= totalPage - 2) {
  27. dotHtml = "";
  28. }
  29. pageHtml += temp;
  30. };
  31. }else {
  32. for(var i = 1; i <= ( 6 > totalPage ? totalPage : 6); i++) {
  33. var temp = "
  34. " +i+ "
  35. ";
  36. if (option.currentPage === i ) { //添加选中蓝色背景
  37. temp = "
  38. "+ i +"
  39. ";
  40. };
  41. if (option.currentPage >= totalPage - 2) {
  42. dotHtml = "";
  43. }
  44. pageHtml += temp;
  45. };
  46. }
  47. pageHtml = "";
  48. obj.append(pageHtml);
  49. },
  50. bindEvent: function(obj, option) {
  51. $(obj).on("click",".page-num",function(){
  52. if ($(this).parent("li") && $(this).parent("li").hasClass("current-page")) {
  53. return;
  54. }
  55. var current = Number( $(this).text() ); //点击的页数
  56. ms.fillHtml(obj, {"currentPage": current, "pageCount": option.pageCount});
  57. option.backFunction();
  58. });
  59. $(obj).on("click",".next-page",function(){
  60. var current = Number( $(".current-page a").text() ); //下一页
  61. if (current === option.pageCount){
  62. return;
  63. }
  64. ms.fillHtml(obj, {"currentPage": current + 1, "pageCount": option.pageCount});
  65. option.backFunction();
  66. });
  67. $(obj).on("click",".prev-page",function(){
  68. var current = Number( $(".current-page a").text() ); //上一页
  69. if (current === 1){
  70. return;
  71. }
  72. ms.fillHtml(obj, {"currentPage": current-1, "pageCount": option.pageCount});
  73. option.backFunction();
  74. });
  75. },
  76. init: function(obj, option){
  77. return (function(){
  78. ms.fillHtml(obj, option);
  79. ms.bindEvent(obj, option);
  80. })();
  81. }
  82. };
  83. $.fn.creatPage = function(option) {
  84. var initOption = {
  85. pageCount: 10,
  86. currentPage: 1,
  87. backFunction: function(){}
  88. };
  89. option.pageCount = Number(option.pageCount);
  90. option.currentPage = Number(option.currentPage);
  91. var option = $.extend(initOption, option);
  92. ms.init(this, option);
  93. }
  94. })()

HTML

</>复制代码

用法

</>复制代码

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

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/80760.html

相关文章

  • 自制jq分页插件

    摘要:由于第一次写插件,中间有借鉴别人的代码。添加选中蓝色背景上一页下一页点击的页数下一页上一页用法总页数当前选中页回调函数 由于第一次写jq插件,中间有借鉴别人的代码。 (function(){ var ms = { fillHtml: function(obj, option) { obj.empty(); v...

    Little_XM 评论0 收藏0
  • 前端常用插件、工具类库汇总(上)

    摘要:函数库动画库动画库,也是目前最通用的动画库。下拉框级联选择器移动端最好用的的筛选器组件联动筛选移动端最好用的的筛选器组件联动筛选颜色选择器时间选择器时间日期处理是一个解析,验证,操作和显示日期和时间的类库。 showImg(https://segmentfault.com/img/bVbjpHt?w=900&h=383); 前言 在开发中,我们经常会将一些常用的代码块、功能块进行封装,...

    txgcwm 评论0 收藏0
  • 前端常用插件、工具类库汇总(下)

    摘要:上一篇前端常用插件工具类库汇总上内容摘要动画库滚动库轮播图滚屏弹出框消息通知下拉框级联选择器颜色选择器时间日期处理表单验证分页插件本篇延续上一篇的内容继续给大家带来一系列关于前端插件工具类的内容。 showImg(https://segmentfault.com/img/bVbjsMh?w=900&h=383); 前言 对本文感兴趣可以先加个收藏,也可以转发分享给身边的小伙伴,以后遇到...

    ideaa 评论0 收藏0
  • jq easyui数据网络的分页过程

    摘要:在涉及到组件的分页功能时,遇到了一点问题。由于数据较多,这边不予展示。返回的数据必须是符合要求的数据,格式如下必须带有属性,属性值为总共的数据条数,是这一页的数据内容,以数组对象的形式返回。 第一次写技术方面的文章,有点忐忑,总怕自己讲的不对误导别人。但是万事总有个开头,有不足错误之处,请各位读者老爷指出。 言归正传,最近刚进新公司,上头要求我先熟悉熟悉easyui这个组件库。在涉及到...

    Rainie 评论0 收藏0

发表评论

0条评论

or0fun

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<