반응형페이징!
반응형웹만들때 페이징때문에 고민하셨죠? 간편하게 제가 하나만들었습니다ㅎ
[code]
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.js"></script>
<style type="text/css">
.paging{color:#555;padding:0;}
.paging li{list-style:none;}
.paging li{line-height:25px; cursor:default; text-align:center; width:25px; height:25px; display:inline-block; font-size: 12px; font-weight:bold; color:#333;}
.paging .pg:hover{cursor:pointer; text-decoration: underline}
.paging .current{color:#FF3636; cursor:default !important; text-decoration:none !important;}
.first, .pre, .next, .last{color:#888 !important;}
.first, .last{letter-spacing:-3px;}
.active{color:#333 !important; cursor:pointer !important;}
</style>
<script type="text/javascript">
window.onload = function() {
var n = 0,
c = 35 , // 전체페이지(35페이지)
w = 27 , //페이지표시 1개의 가로사이즈값
current = 1; // 현재페이지(1페이지)
/* 페이지클릭시 */
$(document).delegate('.pg','click',function(e){
current = parseInt($(this).text());
$('.pg').removeClass('current');$(this).addClass('current'); // 페이지 클릭시 추가되는 클래스(current)
});
/* 맨앞, 앞, 뒤, 맨뒤 버튼 클릭시 */
$(document).delegate('.first, .pre, .next, .last','click',function(e){
var x = Math.floor((parseInt($('.paging').css('width'))-w*4)/w);
if(x > 10){x=10;}
if(n >= 1){
if($(this).is('.first')){current=1;paging();}
if($(this).is('.pre')){current=n-x+1;paging();}
}
if(c > n+x){
if($(this).is('.next')){current=n+x+1;paging();}
if($(this).is('.last')){current=c;paging();}
}
});
/* 맨앞, 앞, 뒤, 맨뒤 버튼 클릭시 */
function paging(){
var page='<li class="first"><<</li><li class="pre"><</li>';
var x = Math.floor((parseInt($('.paging').css('width'))-w*4)/w);
if(x > 10){x=10;}
n = Math.floor(current/x);
if(n == current/x){n = n*x-x;}else{n = n*x}
for(var i=1; i <= x; i++ ){
if(current == i+n){
page += '<li class="pg current">'+(i+n)+'</li>';
}else{
page += '<li class="pg">'+(i+n)+'</li>';}
if(i == x || i == 10 || i+n == c){$('.paging').html(page+'<li class="next">></li><li class="last">>></li>');
if(n > 1){$('.first, .pre').addClass('active');} // 맨앞, 앞 활성화시 추가되는 클래스(active)
if(c > n+x){$('.next, .last').addClass('active');} // 뒤, 맨뒤 버튼 활성화시 추가되는 클래스(active)
break}}
}
paging() //웹페이지 불러올시 반응형페이징 함수 작동
window.onresize = function(){paging()} //브라우저 사이즈 조절시 반응형페이징 함수 작동
}
</script>
<ul class="paging"></ul> <!-- 반응형페이징을 불러올 위치 -->
[/code]
군인신분으로 사이버지식정보방에서 만든거라 보안상 파일업로드가 안되므로 글로 올리는점 양해바랍니다.
http://sir.co.kr/bbs/board.php?bo_table=cm_free&wr_id=1113337
댓글 14개
c = 35 , // 전체페이지(35페이지) 이부분을
c = <?php echo $total_page?> , 로 수정해주시고
current = 1; // 현재페이지(1페이지) 이부분을
current = <?php echo $page ?>; 로 수정해주시면됩니다.
디자인은 알아서^^;
25번줄과 26번줄 구문 사이에 이스크립트를 추가시키면됩니다.
[code]
$(location).attr('href',<?php echo g5_bbs_url ?> + '/board.php?bo_table=' + <?php echo $bo_table ?> + '&page=' + current );
[/code]
근데, 대체 뭘 공부하면 이런 걸 짤 수 있죠? ㅎ
외국사이트돌아다니면서 소스도 한번씩 파헤쳐보고...ㅎ;
제가 반응형웹을 처음 접하게된게 아마 2013년때쯤이었을껍니다.. 그러다가 css로 반응형웹을 짜는기술도 있공...자유롭게 하는방법에선 자바스크립트가 짱이더라고요ㅎ;
게시글 목록
| 번호 | 제목 |
|---|---|
| 19528 |
JavaScript
그누보드4 에 Daum 우편번호 찾기 API 연동 하기.
|
| 6810 | |
| 6807 | |
| 6801 | |
| 6798 | |
| 6791 | |
| 24615 | |
| 24612 | |
| 6788 | |
| 30933 | |
| 6784 | |
| 6783 | |
| 27834 | |
| 19527 | |
| 19526 | |
| 19524 |
MySQL
MYSQL 기본 명령어들 모음
1
|
| 19521 | |
| 6777 | |
| 6770 | |
| 19519 |
웹서버
FTP 프로세스 죽이기
1
|
| 27823 | |
| 6766 | |
| 24604 | |
| 6760 | |
| 6757 | |
| 30925 | |
| 19518 | |
| 30924 |
CSS
CSS slider 테스트1
|
| 30923 |
CSS
수평메뉴1
|
| 6746 |
개발자
스페이스 vs 탭
10
|
| 19516 |
node.js
Node.js 서버의 기본적인 내용 정리
1
|
| 30922 |
기타
dpi 환산표(?)
|
| 19515 | |
| 30921 | |
| 6732 |
개발자
미수금은 적립금인가요..
13
|
| 27803 | |
| 19508 |
PHP
숫자를 한글로 변환
2
|
| 19507 | |
| 24599 | |
| 19504 |
PHP
썸네일 클래스입니다
2
|
| 19501 | |
| 19498 |
MySQL
자주쓰는 MYSQL
2
|
| 19497 | |
| 19496 |
PHP
두지점의 위도,경도간 거리계산
|
| 19495 | |
| 19493 |
MySQL
무한 로딩 중인 쿼리 죽이기
1
|
| 19492 |
기타
파폭 ssh, ftp
|
| 19491 |
MySQL
mysql 기본 사용법
|
| 19490 | |
| 19489 | |
| 6721 |
개발자
암울한 웹의 미래
10
|
| 6720 |
개발자
혁신적이거나 싸지거나
|
| 19488 |
jQuery
제이쿼리를 이용하여 노드 선택
|
| 19487 |
jQuery
append를 이용하여 엘리먼트 추가하기
|
| 19486 | |
| 19485 |
JavaScript
000000.1원팁 ^^ 자스로 아이프레임 target 제어
|
| 30919 | |
| 19484 | |
| 30913 | |
| 30910 | |
| 19483 |
JavaScript
레이어를 이용한 셀렉트 박스
|
| 19482 |
JavaScript
유투브 동영상 노출 시 자동 실행 또는 자동 종료 소스입니다.
|
| 19478 |
jQuery
페이스북 글 가져오기 쉬운방법.
3
|
| 30908 | |
| 19477 | |
| 31683 | |
| 19475 | |
| 19473 | |
| 19471 | |
| 19470 | |
| 19469 | |
| 19468 |
JavaScript
아이폰5s 소개페이지같은 사이트 만들기(?)
|
| 19467 |
PHP
달력 출력하기
|
| 19466 | |
| 19464 |
JavaScript
[1원짜리팁]새창 띄우기 소스
1
|
| 19462 | |
| 19461 | |
| 19460 |
JavaScript
아이프로그램 닫기
|
| 19459 |
JavaScript
자바스크립트 공백 제거
|
| 31680 | |
| 19458 | |
| 19457 | |
| 31676 | |
| 31674 | |
| 31671 | |
| 31670 | |
| 31669 | |
| 31664 | |
| 31663 | |
| 31662 | |
| 31658 | |
| 31657 | |
| 19456 |
PHP
GPS정보 모바일에서 사용하기
|
| 19455 | |
| 31655 | |
| 31653 | |
| 31649 | |
| 31646 | |
| 27800 | |
| 19454 |
JavaScript
메뉴 네비 레이어 서서히 없어지는거
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기