묻고답하기
위젯에서 페이지별로 버튼 다르게 하려면
2013.02.02 13:21
위젯에서 목록이 나오고, 그게 페이지로 넘어간다면, 페이지별로 prev/next 버튼이 나오는게 다르게 보이게 하고 싶습니다.
foreach 문으로
{@$_idx=0}
{@$_idx++}
이게 돌아가구요..
맨 아래 prev/next 버튼 나오게 하는거를
첫페이지에는 next만, 다음페이지는 pre/next 같이, 마지막 페이지에는 prev만
나오게 하고 싶습니다.
아래를 어떻게 고치면 될것같은데 저로썬 쉽지가 않네요..
<ul class="widgetNavigator">
<li><button type="button" class="next" title="{$lang->cmd_next}" onclick="content_widget_next(jQuery(this).parents('ul.widgetNavigator').prev('ul.widgetZineA'),{$widget_info->list_count})"><span>{$lang->cmd_next}</span></button></li>
<li><button type="button" class="prev" title="{$lang->cmd_prev}" onclick="content_widget_prev(jQuery(this).parents('ul.widgetNavigator').prev('ul.widgetZineA'),{$widget_info->list_count})"><span>{$lang->cmd_prev}</span></button></li>
원래는 이건데요...
<!--@if($page_count=1)--> // 첫페이지에는 무조건 next 만 보이게...
<li><button type="button" class="next" title="{$lang->cmd_next}" onclick="content_widget_next(jQuery(this).parents('ul.widgetNavigator').prev('ul.widgetZineA'),{$widget_info->list_count})"><span>{$lang->cmd_next}</span></button></li>
<!--@elseif($widget_info->page_count>$page_count)--> // 위젯에서 설정한 페이지보다 현재 페이지가 작을경우 prev/next 둘다 보이게...
<li><button type="button" class="next"
title="{$lang->cmd_next}"
onclick="content_widget_next(jQuery(this).parents('ul.widgetNavigator').prev('ul.widgetZineA'),{$widget_info->list_count})"><span>{$lang->cmd_next}</span></button></li>
<li><button
type="button" class="prev" title="{$lang->cmd_prev}"
onclick="content_widget_prev(jQuery(this).parents('ul.widgetNavigator').prev('ul.widgetZineA'),{$widget_info->list_count})"><span>{$lang->cmd_prev}</span></button></li>
<!--@else--> // 아닐경우(끝페이지) 는 prev 만 보이게...
<li><button type="button" class="prev" title="{$lang->cmd_prev}" onclick="content_widget_prev(jQuery(this).parents('ul.widgetNavigator').prev('ul.widgetZineA'),{$widget_info->list_count})"><span>{$lang->cmd_prev}</span></button></li>
<!--@end-->
이렇게 했는데..., 그냥 next 만 쭉 보입니다.. ㅎㅎ;
뭐가 잘 못 되었나요?
댓글 3
-
_writer
2013.02.02 13:44
해당 값 출력은 어떻게 하는건가요? 그리고.. 컨텐츠확장위젯입니다.. -
_writer
2013.02.02 15:13
버튼과 관계된 js 파일을 보니 이렇게 나와있습니다. 이쪽은 전혀 몰라서 그러는데... 이걸 보고 어떤 변수를 건드려야 할지 알수 있을까요?
function content_widget_next(obj,list_per_page){
var page = 1;
if(obj.is('table')) {
var list = jQuery('>tbody>tr',obj);
} else if(obj.is('ul')) {
var list = jQuery('>li',obj);
}
var total_page = parseInt((list.size()-1) / list_per_page,10)+1;
list.each(function(i){
if(jQuery(this).css('display') !='none'){
page = parseInt((i+1)/list_per_page,10)+1;
return false;
}
});
if(total_page <= page) return;
list.each(function(i){
if( (page* list_per_page) <= i && ((page+1) * list_per_page) > i){
jQuery(this).show();
}else{
jQuery(this).hide();
}
});
}
function content_widget_prev(obj,list_per_page){
var page = 1;
if(obj.is('table')){
var list = jQuery('>tbody>tr',obj);
}else if(obj.is('ul')){
var list = jQuery('>li',obj);
}
var total_page = parseInt((list.size()-1) / list_per_page,10)+1;
list.each(function(i){
if(jQuery(this).css('display') !='none'){
page = parseInt((i+1)/list_per_page,10)+1;
return false;
}
});
if(page <= 1) return;
list.each(function(i){
if( ((page-2)* list_per_page)<= i && ((page-1) * list_per_page) > i){
jQuery(this).show();
}else{
jQuery(this).hide();
}
});
}
function content_widget_tab_show(tab,list,i,ttype,url){
tab.parents('ul.widgetTab').children('li.active').removeClass('active');
tab.parent('li').addClass('active');
jQuery('>dd',list).each(function(j){
if(j==i) {
if (ttype == 1 && jQuery(this).hasClass('open')) {
location.href = url; return;
}
jQuery(this).addClass('open');
}
else jQuery(this).removeClass('open');
});
} -
<!--@if($page_count=1)--> // 첫페이지에는 무조건 next 만 보이게...
부분이 이상한데요..
<!--@if($page_count==1)--> // 첫페이지에는 무조건 next 만 보이게...
이렇게 해야 하지 않을까요?
-
_writer
2013.02.02 19:01
감사합니다. -
_writer
2013.02.02 19:02
그런데, 위의 문제는 html에서 if 문으로 처리할 수 없는것같아보이네요. firebug에서 보니, 위젯에서 페이지 넘어가는것은, 일단 모든 <li> 요소들을 다 불러들어와놓고, $_idx 값에 따라서 style=display:none; 으로 해버리네요... -
_writer
2013.02.02 19:03
그 후, jquery 에서 버튼 누르면 display:none을 바꿔주면서 페이지를 바꾸는것처럼 보이게 하는 것 같은데... 뭐를 어떻게 고쳐야 할지 잘 감이 안옵니다.
글쓴이 | 제목 | 최종 글 |
---|---|---|
XE | 공지 글 쓰기,삭제 운영방식 변경 공지 [16] | 2019.03.05 by 남기남 |
제임스라 | {getUrl()} 질문 입니다.. [5] | 2014.05.30 by 애니즌 |
fun25 | 포인트 어떻게 받나요? [3] | 2014.05.30 by qwms |
애니즌 |
mid 값이 중복일 수 있나요?
[6]
![]() | 2014.05.29 by 애니즌 |
NaHJ |
약관 동의하는 부분 삭제하는 방법?
[1]
![]() | 2014.05.29 by sejin7940 |
애니즌 | xml queries 날릴 때 리밋은 어떻게 하죠? [4] | 2014.05.29 by 애니즌 |
XE힘들당휴 | 혹시 XE관련 결제 모듈사용하고 계시는 분 계시나요? | |
qwqwwewe | 옵티머스 기종분들 파일올리기 되는지 한번만 봐주세요ㅠ_ㅠ | |
kinyenug | 이미지 랜덤 함수 안먹힙니다!! [1] | 2014.05.29 by prologos |
봉드기 | 메일 인증 관련 질문이 있습니다. [1] | 2014.05.29 by prologos |
죽방망이 | db최적화? | |
qwqwwewe |
관리자페이지에서 정렬이안되는 이유아시는분(사진첨부함)
[2]
![]() | 2014.05.29 by qwqwwewe |
때린데 또때려 |
아래 글자는 어떤 폰트 인가요?
[3]
![]() | 2014.05.29 by 때린데 또때려 |
LoteM대한천자 | 포인트모듈 질문입니다. | |
geogeo123 | 홈페이지 제작후 결제시스템 도입하려면 무조건 돈을 내야 하는 방법밖에 없나요? [5] | 2014.05.29 by 몽실아빠 |
짝사랑 | 이런 갤러리 게시판 있나요? [2] | 2014.05.29 by mAKEkr |
K51358 | XE 가 않열려요 ㅠㅠ [3] | 2014.05.29 by XE카오스 |
kinyenug | 서버요청중 이라는 메세지 무한반복되요.. 방법..알려주세요! | |
이민주986 |
메뉴 수정에서 기존 페이지 지정.
[1]
![]() | 2014.05.29 by 카르마 |
okiz | 회원그룹 DB에서 변경하려면... [1] | 2014.05.29 by okiz |
i지니i | 인기검색어 |
어떤 위젯인지 알수가 없지만.. 예상되는걸 알려드리면..
$page_count 라는 변수가 틀리셨을거예요. 해당 값을 출력시키면서 테스트해보세요