jquery.pagination.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. //鍒嗛〉鎻掍欢
  2. /**
  3. 2014-08-05 ch
  4. **/
  5. (function($){
  6. var ms = {
  7. init:function(obj,args){
  8. return (function(){
  9. ms.fillHtml(obj,args);
  10. ms.bindEvent(obj,args);
  11. })();
  12. },
  13. //濉厖html
  14. fillHtml:function(obj,args){
  15. return (function(){
  16. obj.empty();
  17. //涓婁竴椤�
  18. if(args.current > 1){
  19. obj.append('<a href="javascript:;" class="prevPage">上一页</a>');
  20. }else{
  21. obj.remove('.prevPage');
  22. obj.append('<span class="disabled">上一页</span>');
  23. }
  24. //涓棿椤电爜
  25. if(args.current != 1 && args.current >= 4 && args.pageCount != 4){
  26. obj.append('<a href="javascript:;" class="tcdNumber">'+1+'</a>');
  27. }
  28. if(args.current-2 > 2 && args.current <= args.pageCount && args.pageCount > 5){
  29. obj.append('<span>...</span>');
  30. }
  31. var start = args.current -2,end = args.current+2;
  32. if((start > 1 && args.current < 4)||args.current == 1){
  33. end++;
  34. }
  35. if(args.current > args.pageCount-4 && args.current >= args.pageCount){
  36. start--;
  37. }
  38. for (;start <= end; start++) {
  39. if(start <= args.pageCount && start >= 1){
  40. if(start != args.current){
  41. obj.append('<a href="javascript:;" class="tcdNumber">'+ start +'</a>');
  42. }else{
  43. obj.append('<span class="current">'+ start +'</span>');
  44. }
  45. }
  46. }
  47. if(args.current + 2 < args.pageCount - 1 && args.current >= 1 && args.pageCount > 5){
  48. obj.append('<span>...</span>');
  49. }
  50. if(args.current != args.pageCount && args.current < args.pageCount -2 && args.pageCount != 4){
  51. obj.append('<a href="javascript:;" class="tcdNumber">'+args.pageCount+'</a>');
  52. }
  53. //涓嬩竴椤�
  54. if(args.current < args.pageCount){
  55. obj.append('<a href="javascript:;" class="nextPage">下一页</a>');
  56. }else{
  57. obj.remove('.nextPage');
  58. obj.append('<span class="disabled">下一页</span>');
  59. }
  60. })();
  61. },
  62. //缁戝畾浜嬩欢
  63. bindEvent:function(obj,args){
  64. return (function(){
  65. obj.on("click","a.tcdNumber",function(){
  66. var current = parseInt($(this).text());
  67. ms.fillHtml(obj,{"current":current,"pageCount":args.pageCount});
  68. if(typeof(args.backFn)=="function"){
  69. args.backFn(current);
  70. }
  71. });
  72. //涓婁竴椤�
  73. obj.on("click","a.prevPage",function(){
  74. var current = parseInt(obj.children("span.current").text());
  75. ms.fillHtml(obj,{"current":current-1,"pageCount":args.pageCount});
  76. if(typeof(args.backFn)=="function"){
  77. args.backFn(current-1);
  78. }
  79. });
  80. //涓嬩竴椤�
  81. obj.on("click","a.nextPage",function(){
  82. var current = parseInt(obj.children("span.current").text());
  83. ms.fillHtml(obj,{"current":current+1,"pageCount":args.pageCount});
  84. if(typeof(args.backFn)=="function"){
  85. args.backFn(current+1);
  86. }
  87. });
  88. })();
  89. }
  90. }
  91. $.fn.createPage = function(options){
  92. var args = $.extend({
  93. pageCount : 10,
  94. current : 1,
  95. backFn : function(){}
  96. },options);
  97. ms.init(this,args);
  98. }
  99. })(jQuery);
  100. //浠g爜鏁寸悊锛氭噿浜轰箣瀹� www.lanrenzhijia.com