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

게시판 제목 클릭시왼쪽 메뉴가 사라짐 채택완료

따로또같이 2년 전 조회 1,947

3차 왼쪽 메뉴 구현은 되는데 게시판 글내용을 보기위해 게시판 제목을 클릭하면 ㅇ힌쪽 메뉴가 사라집니다.

고수님 부탁 드립니다. (소스에 잘못된 곳이 있나요?)

참고:이소스는 left.php로 만들어 인크루드 시켰습니다

</p>

<p><table width=100% border=0>

<tr>

<td>

 <?php echo outlogin('theme/basic'); // 외부 로그인, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>

</td>

</tr>

<tr>

<td></p>

<p><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;}</p>

<p> #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; }</p>

<p> #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;}</p>

<p> #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></p>

<p><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></p>

<p>    <div id="mysubmenu"></p>

<p>        <?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' ");

        ?></p>

<p>            <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>

        <?</p>

<p>        $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);</p>

<p>        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</p>

<p>            //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;                    </p>

<p>        }</p>

<p>        if($k > 0)

            echo '</ul>'.PHP_EOL;

        ?>

</div>

</td>

</tr>

</table></p>

<p>

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

답변 2개

채택된 답변
+20 포인트
  <?php
        $tmp_code = substr($me_code,0,2);

이 변수가 어디서 오는 건가요?

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

따로또같이
2년 전
감사 드립니다.
공부 좀 할께요

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

다음과 같이 시도해 볼 수 있을 것 같습니다.

 

</p>

<p>$("#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 플러그인을 추가하셔야 합니다.

로그인 후 평가할 수 있습니다

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

답변을 작성하려면 로그인이 필요합니다.

로그인