게시판 제목 클릭시왼쪽 메뉴가 사라짐
본문
3차 왼쪽 메뉴 구현은 되는데 게시판 글내용을 보기위해 게시판 제목을 클릭하면 ㅇ힌쪽 메뉴가 사라집니다.
고수님 부탁 드립니다. (소스에 잘못된 곳이 있나요?)
참고:이소스는 left.php로 만들어 인크루드 시켰습니다
<table width=100% border=0>
<tr>
<td>
<?php echo outlogin('theme/basic'); // 외부 로그인, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
</td>
</tr>
<tr>
<td>
<script type="text/javascript">
function display_submenu(num) {
document.getElementById("mysub"+num).style.display="block";
}
</script>
<style>
#mysubmenu {border: 1px solid #030303; border-bottom: 1px solid #c1ccda;margin:0px 13px 13px;background:#474747;position:relative;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
-moz-box-shadow: 0 1px 2px rgba(0,0,0,0.1);
box-shadow:0 1px 2px rgba(0,0,0,0.1)}
#mysubmenu ul {list-style:none; margin:0; padding:0;}
#mysubmenu li { margin: 0; list-style: none;}
#mysubmenu li.leftmenu_b {line-height:35px; margin-top:0px; padding:3px 0px 3px 0px; border-bottom:0px solid #dddddd; text-align:left; font-size:14pt; font-weight:bold; background:#121212; }
#mysubmenu li.leftmenu_b a{ color:#fff; }
#mysubmenu li.leftmenu_s {line-height:33px; margin-bottom:0px; padding-left:20px; border-bottom:0px solid #747474; font-size:12pt;font-weight:bold; background:#575050; color:#333; }
#mysubmenu li.leftmenu_s:hover { background:#575050; }
#mysubmenu li.leftmenu_s_on {line-height:33px; margin-bottom:0px; padding-left:20px; border-bottom:0px solid #747474; font-size:12pt;font-weight:bold; background:#5aacca; color:#307ca0; }
#mysubmenu li.leftmenu_s_on a{ color:#000; }
#mysubmenu li.leftmenu_s a:focus, #mysubmenu li.leftmenu_s a:hover { color:#999;}
#mysubmenu li.leftmenu_c {line-height:33px; margin-bottom:0px; padding-left:20px; border-bottom:0px solid #747474; font-size:11pt;font-weight:bold; background:#575050; color:#333; }
#mysubmenu li.leftmenu_c:hover { background:#575050; }
#mysubmenu li.leftmenu_c_on {line-height:33px; margin-bottom:0px; padding-left:20px; border-bottom:0px solid #747474; font-size:11pt;font-weight:bold; background:#5aacca; color:#307ca0; }
#mysubmenu li.leftmenu_c_on a{ color:#000; }
#mysubmenu li.leftmenu_c a:focus, #mysubmenu li.leftmenu_s a:hover { color:#999;}
</style>
<script>
// 지우지 말아주세요. 새창 등에서도 사용합니다.
$(document).ready(function() {
$("#mysubmenu a").on("click", function(e){ //링크 클릭시
var $data_midtxt = $(this).attr("data-midtxt");
if( $data_midtxt ){
$.cookie('sub_midtxt', $data_midtxt, { path: '/' });
} else {
$.cookie('sub_midtxt', null, { path: '/' });
}
});
});
</script>
<div id="mysubmenu">
<?php
$tmp_code = substr($me_code,0,2);
$tmp_menu_name=sql_fetch(" select * from {$g5['menu_table']} where me_use = '1' and length(me_code) = '2' and me_code = '$tmp_code' ");
?>
<li class="leftmenu_b"><a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>"><h3> <font color=#fff><?=$tmp_menu_name['me_name']?></font></h3></a></il>
<?
$sql2 = " select *
from {$g5['menu_table']}
where me_use = '1'
and length(me_code) = '4'
and substring(me_code, 1, 2) = '$tmp_code'
order by me_order,me_code, me_id ";
$result2 = sql_query($sql2);
for ($k=0; $row2=sql_fetch_array($result2); $k++) {
if($k == 0)
echo '<ul class="snb_2dul">'.PHP_EOL;
?>
<li class="leftmenu_s"<?php
if ($row2['me_link']) {
$me_link0 = explode("=",$row2['me_link']);
if ( ($me_link0[1]==$board['bo_table'])||($me_link0[1]==$co_id) ) {
//if(strpos($row2['me_link'], $_GET['bo_table']) !== false) {
echo "style='font-size:14pt;'";
}
} else {
if ( ($row2['me_name']==$board['bo_subject'])||($row2['me_name']==$g5['title']) ) {
//if ( strpos($row2['me_link'], $_GET['bo_table']) !== false ) {
echo " style='font-size:14pt;'";
}
}
?>>
<a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="snb_2da <?php if($row2['me_code']==substr($me_code,0,4)) { echo "on"; }?>">* <?php echo $row2['me_name'] ?></a>
<?php
//3차메뉴 불러 오기.
$sql3 = " select *
from {$g5['menu_table']}
where me_use = '1'
and length(me_code) = '6'
and substring(me_code, 1, 4) = '{$row2['me_code']}'
order by me_order,me_code, me_id ";
$result3 = sql_query($sql3);
$num3 = sql_num_rows($result3);
if($num3>0){
echo '<ul class="snb_3dul">'.PHP_EOL;
while($row3=sql_fetch_array($result3)){
?>
<li class="leftmenu_c"<?php
if ($row3['me_link']) {
$me_link0 = explode("=",$row3['me_link']);
if ( ($me_link0[1]==$board['bo_table'])||($me_link0[1]==$co_id) ) {
//if(strpos($row3['me_link'], $_GET['bo_table']) !== false) {
echo "style='font-size:14pt;'";
}
} else {
if ( ($row3['me_name']==$board['bo_subject'])||($row2['me_name']==$g5['title']) ) {
//if ( strpos($row3['me_link'], $_GET['bo_table']) !== false ) {
echo " style='font-size:14pt;'";
}
}
?>>
<a href="<?php echo $row3['me_link']; ?>" target="_<?php echo $row3['me_target']; ?>" class="snb_3da <?php if($row3['me_code']==$me_code) { echo "on3"; }?>"> <font>ㄴ<?php echo $row3['me_name'] ?></font></a>
</li>
<?php
}
echo '</ul>'.PHP_EOL;
}
echo '</li>'.PHP_EOL;
}
if($k > 0)
echo '</ul>'.PHP_EOL;
?>
</div>
</td>
</tr>
</table>
답변 2
<?php
$tmp_code = substr($me_code,0,2);
이 변수가 어디서 오는 건가요?
다음과 같이 시도해 볼 수 있을 것 같습니다.
$("#mysubmenu a").on("click", function(e){
var $data_midtxt = $(this).attr("data-midtxt");
if( $data_midtxt ){
$.cookie('sub_midtxt', $data_midtxt, { path: '/' });
} else {
$.cookie('sub_midtxt', null, { path: '/' });
}
// 이 부분을 주석 처리하면 왼쪽 메뉴가 사라지지 않음
// e.preventDefault();
});
주의해야 할 점은 이 변경이 다른 부분에 영향을 미칠 수 있으므로, 수정 후 웹 사이트의 다른 부분도 테스트하여 모든 기능이 올바르게 작동하는지 확인하는 것이 중요할 것으로 생각합니다.
$.cookie() 함수는 jQuery Cookie 플러그인이 필요하므로, 해당 플러그인이 포함되어 있는지 확인해보시고, 필요한 경우 jQuery Cookie 플러그인을 추가하셔야 합니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.