1+ var pageRender = ( function ( ) {
2+ var n = 1 ,
3+ total = 0 ;
4+ var oBox = document . getElementById ( 'box' ) ,
5+ content = document . getElementById ( 'content' ) ,
6+ footer = document . getElementById ( 'footer' ) ,
7+ numBox = document . getElementById ( 'numBox' ) ,
8+ pageNum = document . getElementById ( 'pageNum' ) ;
9+
10+ //->SEND AJAX AND BIND HTML
11+ function bindHTML ( ) {
12+ //->SUCCESS AND BIND HTML
13+ function callback ( result ) {
14+ if ( ! result ) return ;
15+ total = parseInt ( result [ 'total' ] ) ;
16+
17+ //->GET DATA CONCAT STR
18+ var data = result [ 'data' ] ,
19+ str = '' ;
20+ for ( var i = 0 , len = data . length ; i < len ; i ++ ) {
21+ var cur = data [ i ] ;
22+ str += '<li data-id="' + cur [ 'id' ] + '">' ;
23+ str += '<span>' + cur [ 'id' ] + '</span>' ;
24+ str += '<span>' + cur [ 'name' ] + '</span>' ;
25+ str += '<span>' + ( cur [ 'sex' ] == 1 ? '女' : '男' ) + '</span>' ;
26+ str += '<span>' + cur [ 'score' ] + '</span>' ;
27+ str += '</li>' ;
28+ }
29+ content . innerHTML = str ;
30+
31+ //->CONCAT PAGE
32+ str = '' ;
33+ for ( i = 1 ; i <= total ; i ++ ) {
34+ if ( i == n ) {
35+ str += '<li class="bg">' + i + '</li>' ;
36+ continue ;
37+ }
38+ str += '<li>' + i + '</li>' ;
39+ }
40+ numBox . innerHTML = str ;
41+
42+ //->PAGE NUM SHOW N
43+ pageNum . value = n ;
44+ }
45+
46+ //->SEND AJAX GET DATA
47+ ajax ( {
48+ url : '/getList?n=' + n ,
49+ type : 'GET' ,
50+ dataType : "JSON" ,
51+ cache : false ,
52+ success : callback
53+ } ) ;
54+ }
55+
56+ //->BIND EVENT
57+ function bindEvent ( ) {
58+ oBox . onclick = function ( ev ) {
59+ ev = ev || window . event ;
60+ var tar = ev . target || ev . srcElement ,
61+ tarTag = tar . tagName . toUpperCase ( ) ,
62+ tarInn = tar . innerHTML ,
63+ tarParent = tar . parentNode ,
64+ tarGrandparent = tarParent . parentNode ;
65+
66+ //->CONTENT LI OR SPAN
67+ if ( ( tarTag === 'LI' && tarParent . id === 'content' ) || ( tarTag === 'SPAN' && tarGrandparent . id === 'content' ) ) {
68+ if ( tarTag === 'SPAN' ) {
69+ tar = tarParent ;
70+ }
71+ var id = tar . getAttribute ( 'data-id' ) ;
72+ //window.location.href = 'detail.html?id=' + id;
73+ window . open ( 'detail.html?id=' + id ) ;
74+ return ;
75+ }
76+
77+ //->NUM BOX LI
78+ if ( tarTag === 'LI' && tarParent . id === 'numBox' ) {
79+ tarInn = parseInt ( tarInn ) ;
80+ if ( tarInn === n ) {
81+ return ;
82+ }
83+ n = tarInn ;
84+ bindHTML ( ) ;
85+ return ;
86+ }
87+
88+ //->FOOTER SPAN
89+ if ( tarTag === 'SPAN' && tarParent . id === 'footer' ) {
90+ if ( tarInn === 'FIRST' ) {
91+ if ( n === 1 ) {
92+ return ;
93+ }
94+ n = 1 ;
95+ }
96+ if ( tarInn === 'LAST' ) {
97+ if ( n === total ) {
98+ return ;
99+ }
100+ n = total ;
101+ }
102+ if ( tarInn === 'PREV' ) {
103+ if ( n === 1 ) {
104+ return ;
105+ }
106+ n -- ;
107+ }
108+ if ( tarInn === 'NEXT' ) {
109+ if ( n === total ) {
110+ return ;
111+ }
112+ n ++ ;
113+ }
114+ bindHTML ( ) ;
115+ }
116+
117+ }
118+ }
119+
120+ return {
121+ init : function ( ) {
122+ //->BIND HTML
123+ bindHTML ( ) ;
124+
125+ //->BIND EVENT
126+ bindEvent ( ) ;
127+
128+ //->INPUT KEY UP
129+ pageNum . onkeyup = function ( ev ) {
130+ ev = ev || window . event ;
131+ //->ENTER
132+ if ( ev . keyCode === 13 ) {
133+ var val = parseFloat ( this . value ) ;
134+ if ( isNaN ( val ) || val === n ) {
135+ this . value = n ;
136+ return ;
137+ }
138+ n = val < 1 ? 1 : ( val > total ? total : val ) ;
139+ bindHTML ( ) ;
140+ }
141+ }
142+ }
143+ }
144+ } ) ( ) ;
145+ pageRender . init ( ) ;
0 commit comments