사실, 페이징 전에 들었지만, 내가 무엇을 요구 모른다, 오늘은 무료로 이용하고,
친구가 구문을 ES5로 변환 할 수있는 ES6에 익숙하지 않은 경우, ES6에 대한 페이지를 쓴
몇 가지 요구 사항을 만들 수있는이 작은 페이징 기능을 위해 :
페이지 첫 번째 페이지가 표시 AJAX 내용으로로드되어
, 작업 각 페이지 요청을 자유롭게 설정할 수있는 수
의 코드보다 재사용 될 수 있고
다음 페이지에서 클릭이, 이전 페이지가 전체 페이지 수를 초과 할 수 있으며
, 현재 페이지의 표시의 내용 해당 위치의 일련 번호, 그리고 다시 요청하지 않습니다 현재의 일련 번호를 클릭합니다.
페이지 수는 더 들여 할 수없는,하지만 열심히하고, 관심 친구 (최대 게으른) 시도 할 수 있습니다
도구 :
사람은 먹고, jQuery를 (게으른 마법), 부트 스트랩, 자기 참조 (아무 버전의 제한)
그리고 달성하는 코드가있다,
// 页面布局及样式 <스타일 유형 = "텍스트 / CSS"> 30 ℃와 pH 5.5 또는 다른 pH { 마진 : 0 200 픽셀; } 리 { 목록 - 스타일 : 없음; } #group { 불투명도 : 0 ; } </ 스타일> <DIV 클래스 = "용기"> <UL 클래스 = "목록 그룹"ID = "그룹"> </ UL> </ DIV> <탐색 아리아 라벨 = "페이지 탐색"클래스 = "분 "ID ="분 "> <UL 등급 ="페이징 "> <LI> <A HREF ="# " </a>를 <LI> <A보기 </a> 1 </A> </ 리> <LI> <A보기 </a> 2 </A> </ 리> <LI> <A HREF = "#" > 3 </A> </ 리> <LI> <A보기 </a> 4 </A> </ 리> <LI> <A보기 </a> 5 </A> </ 리> <LI> <A보기 </a> 6 </A> </ 리> <LI> <A보기 </a> 7 </A> </ 리> <LI> <A HREF = "#" > 8 </A> </ 리> <LI> <A보기 </a> 9 </A> </ 리> <LI> <A보기 </a> 10 </A> </ 리> <LI> <A HREF = "#"아리아 라벨 = "다음"> <스팬 아리아 숨겨진 = "참"> & RAQUO </ SPAN> </a>에 </ 리> </ UL> </ NAV>
1 // 순수하게 좋은 찾으려면, 쓰기 때문에, 사실, 페이징 코드를 구현 많이 필요로하지 않는 2 <스크립트 유형 = "텍스트 / 자바 스크립트"> . 3 개 클래스 {GetShow . 4 {() 생성자를 . 5 . 6 } . 7 . 8 평신도합니다 (_data의 _index을 ) { 9 개 // 모든 5 개 개의 데이터 요청 (10) 송출이 ""_T = 0 = 인 _li ; 11. _index _index = <0 0? 다음 _index] 12 인 위해 (I = 상기 _index하자; I는 <_data.length; I는 ++ ) { 13은 + = _li '<LI>'+ I +를 _data [I] .article + '</ 리>' ; 14 _T 인 ++ ; (15) 경우 (_T> = 5 ) { 16 _T = 0 ; 17 체류 ; 18 } 19 } 20 . $ ( "# 그룹") 앞에 추가 (_li) .animate (불투명도 {1 }); 21 $ ( "# 그룹 리") addClass ( "목록 그룹 항목." ); 22 } 23 정하중 (_index) { 24 하자 _show = 새로운 GetShow (); 25 $ 아약스 ({ 26 URL : "jsonpackage / article.json" , 27 개 성공 :함수 (_data, _status) { 28 일 경우 (_status === "성공" ) { 29 _show.lay (_data, _index); 30 } 31 } 32 }) 33 } 34 } 35 36 함수 E () { 37 하자 _index = 0 ; 38 하자의 $ 리 = $ ( "# 분 리")하지 ($ ( "# 분 리 : 첫번째"))하지 ($ ( "# 분 리 : 마지막으로".. )); 39 ( "첫 번째 # 분 리"liFirst = $ $하자 ) 40 $ liLast = $ ( "# 분 리 : 마지막으로"하자 ) (41)은 송출 된 _GET = 새로운 새 ; GetShow () (42)가 송출 된 _mark = $의 li.index (); (43)가 $ li.click ( 함수 (E) { 44는 E = E || 상기 window.event를 45 _mark = $ ( 이 본 )있는 .index (); 46 // TODO :! 코드를 업로드하는 것은 버그, 5 방법을 다루는 거기 발견했을 때 반복적으로 업데이트됩니다, 현재의 인덱스와 동일한 페이지 수를 해결하기 위해 클릭 47 만약에 ($ ( 다음은이 ()있는 .index가) = Math.floor == ((_ 인덱스 + 5) / 5.. )) { 48 창 은 false ; 49 } 다른 { 50 $ ( "# 그룹") HTML ( "") CSS ({불투명 : 0.. }); 51 _index = 5 * $ ( 이 )있는 .index () - 5 ; 52 GetShow.load (_index); 53 } 54 }); 55 56 $ liFirst.click ( 함수 () { 57 의 경우 (_mark <= 1) { 반환 거짓 } 58 _mark _mark = 1 ; 59 $ ( "# 그룹") HTML ( "")의 CSS ({불투명도.. : 0 }) 60 _index = 5 * _mark - 5 ; 61 GetShow.load (_index); 62 }); 63 64 $ liLast.click ( 함수 () { 65 _mark _mark = + 1 ; 66 $ ( "# 그룹") HTML ( "")의 CSS ({불투명도 :.. 0 }) 67 _index = 5 * (_mark) - 5 ; 68 GetShow.load (_index) (69) }) (70) } (71) (72) 기능 의 main () { 73 하자 _index = 0 ; 74 GetShow.load (_index); 75 E (); (76) } (77) 78 창로드 = 주; 79 </ script>