테스트 사이트 - 개발 중인 베타 버전입니다

탭매뉴 최신글 스킨 질문요~

· 11년 전 · 1833 · 6
링크된 게시물- 탭메뉴 최신글 스킨은 소스 구성상 한 개 밖에 사용을 못하는 상태입니다.
두 개 이상 사용하려면 손을 대야하는데 파일을 복사해 이름을 바꾸거나 내용에서
class id 등을 바꿔도 두 번째 적용된 스킨이 제기능을 못합니다. 노출은 되도
두 번째 적용한 탭메뉴에 마우스 오버시 반응이 없고, 대신 첫 번째 적용한 스킨이
동작합니다.
상세설명을 먼저 하려고 했지만 시간이 걸릴거 같아서 우선 답변주실 분을 먼저 섭외 후
질문 수정하려구요...
스킨을 두 개 이상 적용하기 위해 소스가 서로 영향 받지 않도록 분리시키는 방법을
알고 싶습니다. 답변 주실분이 계시다면 댓글 부탁드립니다. 그 후 상세 질문 내용으로
수정 하겠습니다..(__

=====상세설명. ===================================================================================
==================================================================================================
=====호출문=======================================================================================
<? include_once("$g4[path]/lib/tab2.lib.php"); ///tab2.lib.php를 포함시킵니다.
echo latest_tab2("latest_tab2","추천음악|추천도서","basic3|basic3", "01_6|01_9","01_6","5|5","18|30"); ?>
==================================================================================================
=====사용된 문서와 경로============================================================================
1. /lib/tab2.lib.php
2. /skin/tab/latest_tab2/tab.skin.php (경로 끝 img폴더 포함)
==================================================================================================
=====tab2.lib.php 소스=============================================================================

<?
if (!defined('_GNUBOARD_')) exit;

//무한탭
function latest_tab2($tab_skin,$titles,$skin_dirs,$bo_tables,$first_table,$rows, $subject_lens){

global $g4;

$title=explode("|",$titles);
$skin_dir=explode("|",$skin_dirs);
$bo_table=explode("|",$bo_tables);

$row=explode("|",$rows);
$subject_len=explode("|",$subject_lens);

$tab_skin_path = "$g4[path]/skin/tab/".$tab_skin;
include "$tab_skin_path/tab.skin.php";
}

================================================================================================
=====tab.skin.php 소스===========================================================================


<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가

/************************************************************************
************************ 수정 해서 사용하세요!************************
************************************************************************/
$table_width = 200; // 전체 가로 사이즈
$table_height = 240; // 전체 세로 사이즈

$use_tit_per ='Y'; // 타이틀 너비를 테이블너비/N(타이틀갯수) 으로 사용한다 (사용:'Y',미사용:'N')
// 이럴경우 아래 타이틀(tit_width) 너비는 무시된다.
$tit_width="60px"; //타이틀 너비
$tit_height="30px"; //타이틀 높이
$tit_border_color='#dddddd'; //타이틀 전체컬러

$on_font_size="11"; //마우스 접근시 폰트사이즈
$on_font_family="Tahoma"; //마우스 접근시 폰트명
$on_color="#000000"; //마우스 접근시 폰트컬러
$on_weight="bold"; //마우스 접근시 굵기 (굵게:bold/ 일반:normal)
$on_bgcolor="#ffffff"; //마우스 접근시 배경색


$off_font_size="11"; //마우스 벗어날때 폰트사이즈
$off_font_family="Tahoma"; //마우스 벗어날때 폰트명
$off_color="#32313f"; //마우스 벗어날때 폰트컬러
$off_weight="normal"; //마우스 벗어날때 굵기 (굵게:bold/ 일반:normal)
$off_bgcolor="#f6f9fb"; //마우스 벗어날때 배경색
/************************************************************************
*************************************************************************
************************************************************************/

if($use_tit_per=='Y'){
$tit_width=($table_width)/sizeof($title);
}
$title_num=sizeof($title); //타이틀 갯수
$table_num=sizeof($bo_table); //게시판 객수

?>
<style>
.main_tb {width:<?=$table_width?>;height:<?=$table_height?>;}
.t_tb0{
float:left;
width:99px;
height:<?=$tit_height?>;
border-top: 1px dotted <?=$tit_border_color?>;
border-left: 1px dotted <?=$tit_border_color?>;
border-right: 0px solid <?=$tit_border_color?>;
border-bottom: 0px solid <?=$tit_border_color?>;
text-align:center;
line-height:<?=$tit_height?>;
vertical-align:middle;
}

.t_tb1{
float:right;
width:98px;
height:<?=$tit_height?>;
border-top: 1px dotted <?=$tit_border_color?>;
border-left: 0px solid <?=$tit_border_color?>;
border-right: 1px dotted <?=$tit_border_color?>;
border-bottom: 0px solid <?=$tit_border_color?>;
text-align:center;
line-height:<?=$tit_height?>;
vertical-align:middle;
}

.on_font{ font-family:<?=$on_font_family?>;
font-size:<?=$on_font_size?>;
font-weight:<?=$on_weight?>;
background-color:<?=$on_bgcolor?>;
color:<?=$on_color?>;
}

.off_font{ font-family:<?=$off_font_family?>;
font-size:<?=$off_font_size?>;
font-weight:<?=$off_weight?>;
background-color:<?=$off_bgcolor?>;
color:<?=$off_color?>;
}

.m_tb{clear:both;width:200px;} /*내용 우측길이*/


</style>



<div class="main_tb">

<?
for($i=0;$i<$table_num;$i++){

if($i == 0){$toggle="0";}else{$toggle="1";}

if($first_table == $bo_table[$i]){
$style=" on_font ";
}else{
$style=" off_font ";
}

echo " <div id='title{$i}' class='t_tb{$toggle} {$style}' onclick=\"javascript:location.href='{$g4[bbs_path]}/board.php?bo_table={$bo_table[$i]}'\" onMouseover=\"this.style.cursor='hand';m_view({$i});\" >".$title[$i]."</div>";

}
?>

<div class="m_tb">
<?
for($i=0;$i<$table_num;$i++){

if($first_table == $bo_table[$i]){$bk="block";}else{$bk="none";}
?>
<span id='l_view<?=$i?>' style='display:<?=$bk?>;'>
<?=latest($skin_dir[$i],$bo_table[$i],$row[$i],$subject_len[$i]);?>
</span>
<?}?>

</div>
</div>


<script language="javascript">
function m_view(n) {

for(var a = 0; a < <?=$table_num?>; a++) {
obj = document.getElementById('l_view'+a);
obj2 = document.getElementById('title'+a);


if ( n == a ) {
obj.style.display = "block";
obj2.style.backgroundColor="<?=$on_bgcolor?>";
obj2.style.fontWeight="<?=$on_weight?>";
obj2.style.color="<?=$on_color?>";

//img.src = "<?=$g4[path]?>/img/top_mn_on"+a+".gif";
} else {
obj.style.display = "none";
obj2.style.backgroundColor="<?=$off_bgcolor?>";
obj2.style.fontWeight="<?=$off_weight?>";
obj2.style.color="<?=$off_color?>";
}

}


}

</script>

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 6개

함수 변수를 전부 따로 줘보세요 ! 예를 들어, 스킨1에 사용된 변수가 a이며, 스킨2는 b로 다 바꾸심 될 듯...
변수 찾는 게 힘들지만, 하다보면 감이 생기더라구요..^^
네 ㅎ 아무래도 해봐야겠네여.. 함수쪽은 까막눈이라 손을 못댔는데 ; 함 도전해 보는걸로.....
어떤부분이 변수인지만 알아도 좋겠습니다 ㅎ
아싸 끈기로 해결했습니다 ㅎㅎㅎ 정확한 포인트 짚어서 해당 스킨 게시물에 댓글 남겨두겠습니다.
이제야 로그인했네요. ㅎ 성공 축하합니다. 한 단계 발전하셨네요. ^^
네ㅎ.. 근데 뭐 수박 겉만 핥는 기분이네요.. 완전 주먹구구식~ 그래도 포기할까 하다가 동기부여 해주셔서
겨우 해결됐네요 ㅋㅋ

게시글 목록

번호 제목
284438
284437
284435
284430
284420
284417
284409
284401
284399
284397
284380
284378
284371
284370
284366
284364
284360
284357
284355
284354