1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>pagination</title>
5 <style type="text/css" media="screen">
6 a{
7 padding: 5px;
8 border:1px solid #ddd;
9 border-radius: 5px;
10 margin-right: 5px;
11 cursor: pointer;
12 }
13 span{
14 border: 1px solid #ddd;
15 display: inline-block;
16 width: 60px;
17 height: 20px;
18 margin-top: 30px;
19 text-align: center;
20 }
21 input{
22 width: 60px;
23 text-align: center;
24 border:1px solid #ddd;
25 height: 20px;
26 }
27 </style>
28 </head>
29 <body>
30 <div id="content"></div>
31 <span contenteditable="true"></span>
32 <button id="btn" type="button">跳转</button>
33 <input type="text">
34 <button id="btn2" type="button">总页数</button>
35 <div id="hidden" type="hidden" num="1"></div>
36 <script src="jquery-1.12.4.min.js"></script>
37 <script>
38 function init(pa,p){
39 var html = '<a class="pre">上一页</a>';
40 if(pa<=5){
41 for(var i=1;i<=pa;i++){
42 html += '<a>'+i+'</a>';
43 }
44 }else{
45 if(p+3<pa && p-3>1){
46 html += '<a>1</a><a>...</a>';
47 for(var i=p-2;i<=p+2;i++){
48 html += '<a>'+i+'</a>';
49 }
50 html += '<a>...</a><a>'+pa+'</a>';
51 }
52 if(p+3>=pa && p-3>1){
53 html += '<a>1</a><a>...</a>';
54 for(var i=p-2;i<=pa;i++){
55 html += '<a>'+i+'</a>';
56 }
57 }
58 if(p-3<=1 && p>5){
59 for(var i=1;i<=p+2;i++){
60 html += '<a>'+i+'</a>';
61 }
62 html += '<a>...</a><a>'+pa+'</a>';
63 }
64 if(p-3<=1 && p<5){
65 for(var i=1;i<=p+2;i++){
66 html += '<a>'+i+'</a>';
67 }
68 html += '<a>...</a><a>'+pa+'</a>';
69 }
70 html += '<a class="last">下一页</a>'
71 }
72 $('#content').html(html);
73 }
74 $(function(){
75 init(30,1);
76 var time = setInterval(function(){
77 $('a:not(a.last):not(a.pre)').on('click',function(){
78 var p = Number($(this).text());
79 $('#hidden').attr('num',p);
80 init(30,p);
81 });
82 $('#btn').click(function(){
83 var p = Number($('span').text());
84 var pa = Number($('input').val())!=""?Number($('input').val()):5;
85 init(pa,p)
86 });
87 $('#btn2').click(function(){
88 var p = Number($('span').text())!=""?Number($('span').text()):1;
89 var pa = Number($('input').val())!=""?Number($('input').val()):5;
90 init(pa,p)
91 });
92 //problem
93 // $('.last').click(function(){
94 // var p = $('#hidden').attr('num');
95 // p++;
96 // $('#hidden').attr('num',p);
97 // var pa = Number($('input').val())!=""?Number($('input').val()):30;
98 // console.log(pa,p)
99 // init(pa,p)
100 // });
101 },400);
102 })
103 </script>
104 </body>
105 </html>
![]()