portal html css js resource

jquery.page.js 2.9KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. (function($){
  2. var ms = {
  3. init:function(obj,args){
  4. return (function(){
  5. ms.fillHtml(obj,args);
  6. ms.bindEvent(obj,args);
  7. })();
  8. },
  9. //填充html
  10. fillHtml:function(obj,args){
  11. return (function(){
  12. obj.empty();
  13. //上一页
  14. if(args.current > 1){
  15. obj.append('<a href="javascript:;" class="prevPage">上一页</a>');
  16. }else{
  17. obj.remove('.prevPage');
  18. obj.append('<span class="disabled">上一页</span>');
  19. }
  20. //中间页码
  21. if(args.current != 1 && args.current >= 4 && args.pageCount != 4){
  22. obj.append('<a href="javascript:;" class="tcdNumber">'+1+'</a>');
  23. }
  24. if(args.current-2 > 2 && args.current <= args.pageCount && args.pageCount > 5){
  25. obj.append('<span>...</span>');
  26. }
  27. var start = args.current -2,end = args.current+2;
  28. if((start > 1 && args.current < 4)||args.current == 1){
  29. end++;
  30. }
  31. if(args.current > args.pageCount-4 && args.current >= args.pageCount){
  32. start--;
  33. }
  34. for (;start <= end; start++) {
  35. if(start <= args.pageCount && start >= 1){
  36. if(start != args.current){
  37. obj.append('<a href="javascript:;" class="tcdNumber">'+ start +'</a>');
  38. }else{
  39. obj.append('<span class="current">'+ start +'</span>');
  40. }
  41. }
  42. }
  43. if(args.current + 2 < args.pageCount - 1 && args.current >= 1 && args.pageCount > 5){
  44. obj.append('<span>...</span>');
  45. }
  46. /*if(args.current != args.pageCount && args.current < args.pageCount -2 && args.pageCount != 4){
  47. obj.append('<a href="javascript:;" class="tcdNumber">'+args.pageCount+'</a>');
  48. }*/
  49. //下一页
  50. if(args.current < args.pageCount){
  51. obj.append('<a href="javascript:;" class="nextPage">下一页</a>');
  52. }else{
  53. obj.remove('.nextPage');
  54. obj.append('<span class="disabled">下一页</span>');
  55. }
  56. })();
  57. },
  58. //绑定事件
  59. bindEvent:function(obj,args){
  60. return (function(){
  61. obj.on("click","a.tcdNumber",function(){
  62. var current = parseInt($(this).text());
  63. ms.fillHtml(obj,{"current":current,"pageCount":args.pageCount});
  64. if(typeof(args.backFn)=="function"){
  65. args.backFn(current);
  66. }
  67. });
  68. //上一页
  69. obj.on("click","a.prevPage",function(){
  70. var current = parseInt(obj.children("span.current").text());
  71. ms.fillHtml(obj,{"current":current-1,"pageCount":args.pageCount});
  72. if(typeof(args.backFn)=="function"){
  73. args.backFn(current-1);
  74. }
  75. });
  76. //下一页
  77. obj.on("click","a.nextPage",function(){
  78. var current = parseInt(obj.children("span.current").text());
  79. ms.fillHtml(obj,{"current":current+1,"pageCount":args.pageCount});
  80. if(typeof(args.backFn)=="function"){
  81. args.backFn(current+1);
  82. }
  83. });
  84. })();
  85. }
  86. }
  87. $.fn.createPage = function(options){
  88. var args = $.extend({
  89. pageCount : 10,
  90. current : 1,
  91. backFn : function(){}
  92. },options);
  93. ms.init(this,args);
  94. }
  95. })(jQuery);