질문 : 메뉴에서 카테고리 클릭시 기존 펼침 카테고리 닫는 방법은 무엇일지 궁금합ㄴ디ㅏ

질문 : 메뉴에서 카테고리 클릭시 기존 펼침 카테고리 닫는 방법은 무엇일지 궁금합ㄴ디ㅏ

QA

질문 : 메뉴에서 카테고리 클릭시 기존 펼침 카테고리 닫는 방법은 무엇일지 궁금합ㄴ디ㅏ

본문

질문 : 메뉴에서 카테고리 클릭시 기존 펼침 카테고리 닫는 방법은 무엇일지 궁금합니다.

c4dad0dca7579d60f52671b1ac1750df_1492568314_9967.png

1번 그림처럼 현재 다른 카테고리를 누르면 기존건 그대로 있습니다

근대 아래 그림처럼 타카테고리 누르면 다른 열려진 타 카테고리는 접고 싶은대

방법이 없을까요?

c4dad0dca7579d60f52671b1ac1750df_1492568390_1308.png

아래 내용은 현재 category.php 파일 내용입니다

부탁드립니다

 

===================================================================================

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

function get_mshop_category($ca_id, $len)
{
    global $g5;

    $sql = " select ca_id, ca_name from {$g5['g5_shop_category_table']}
                where ca_use = '1' ";
    if($ca_id)
        $sql .= " and ca_id like '$ca_id%' ";
    $sql .= " and length(ca_id) = '$len' order by ca_order, ca_id ";

    return $sql;
}
?>

<div class="menu-op" id="category">
    <div class="menu-opwr">

        <div>
            <h2 class="con_tit"><span>쇼핑몰분류</span></h2>
            <?php
            $mshop_ca_href = G5_SHOP_URL.'/list.php?ca_id=';
            $mshop_ca_res1 = sql_query(get_mshop_category('', 2));
            for($i=0; $mshop_ca_row1=sql_fetch_array($mshop_ca_res1); $i++) {
                if($i == 0)
                    echo '<ul class="cate">'.PHP_EOL;
            ?>
                <li>
                    <a href="<?php echo $mshop_ca_href.$mshop_ca_row1['ca_id']; ?>"><?php echo get_text($mshop_ca_row1['ca_name']); ?></a>
                    <?php
                    $mshop_ca_res2 = sql_query(get_mshop_category($mshop_ca_row1['ca_id'], 4));
                    if(sql_num_rows($mshop_ca_res2))
                        echo '<button class="sub_ct_toggle ct_op">'.get_text($mshop_ca_row1['ca_name']).' 하위분류 열기</button>'.PHP_EOL;

                    for($j=0; $mshop_ca_row2=sql_fetch_array($mshop_ca_res2); $j++) {
                        if($j == 0)
                            echo '<ul class="sub_cate sub_cate1">'.PHP_EOL;
                    ?>
                        <li>
                            <a href="<?php echo $mshop_ca_href.$mshop_ca_row2['ca_id']; ?>"><?php echo get_text($mshop_ca_row2['ca_name']); ?></a>
                            <?php
                            $mshop_ca_res3 = sql_query(get_mshop_category($mshop_ca_row2['ca_id'], 6));
                            if(sql_num_rows($mshop_ca_res3))
                                echo '<button type="button" class="sub_ct_toggle ct_op">'.get_text($mshop_ca_row2['ca_name']).' 하위분류 열기</button>'.PHP_EOL;

                            for($k=0; $mshop_ca_row3=sql_fetch_array($mshop_ca_res3); $k++) {
                                if($k == 0)
                                    echo '<ul class="sub_cate sub_cate2">'.PHP_EOL;
                            ?>
                                <li>
                                    <a href="<?php echo $mshop_ca_href.$mshop_ca_row3['ca_id']; ?>"><?php echo get_text($mshop_ca_row3['ca_name']); ?></a>
                                    <?php
                                    $mshop_ca_res4 = sql_query(get_mshop_category($mshop_ca_row3['ca_id'], 8));
                                    if(sql_num_rows($mshop_ca_res4))
                                        echo '<button type="button" class="sub_ct_toggle ct_op">'.get_text($mshop_ca_row3['ca_name']).' 하위분류 열기</button>'.PHP_EOL;

                                    for($m=0; $mshop_ca_row4=sql_fetch_array($mshop_ca_res4); $m++) {
                                        if($m == 0)
                                            echo '<ul class="sub_cate sub_cate3">'.PHP_EOL;
                                    ?>
                                        <li>
                                            <a href="<?php echo $mshop_ca_href.$mshop_ca_row4['ca_id']; ?>"><?php echo get_text($mshop_ca_row4['ca_name']); ?></a>
                                            <?php
                                            $mshop_ca_res5 = sql_query(get_mshop_category($mshop_ca_row4['ca_id'], 10));
                                            if(sql_num_rows($mshop_ca_res5))
                                                echo '<button type="button" class="sub_ct_toggle ct_op">'.get_text($mshop_ca_row4['ca_name']).' 하위분류 열기</button>'.PHP_EOL;

                                            for($n=0; $mshop_ca_row5=sql_fetch_array($mshop_ca_res5); $n++) {
                                                if($n == 0)
                                                    echo '<ul class="sub_cate sub_cate4">'.PHP_EOL;
                                            ?>
                                                <li>
                                                    <a href="<?php echo $mshop_ca_href.$mshop_ca_row5['ca_id']; ?>"> <?php echo get_text($mshop_ca_row5['ca_name']); ?></a>
                                                </li>
                                            <?php
                                            }

                                            if($n > 0)
                                                echo '</ul>'.PHP_EOL;
                                            ?>
                                        </li>
                                    <?php
                                    }

                                    if($m > 0)
                                        echo '</ul>'.PHP_EOL;
                                    ?>
                                </li>
                            <?php
                            }

                            if($k > 0)
                                echo '</ul>'.PHP_EOL;
                            ?>
                        </li>
                    <?php
                    }

                    if($j > 0)
                        echo '</ul>'.PHP_EOL;
                    ?>
                </li>
            <?php
            }

            if($i > 0)
                echo '</ul>'.PHP_EOL;
            else
                echo '<p>등록된 분류가 없습니다.</p>'.PHP_EOL;
            ?>
        </div>
       
    </div>

   <button type="button" class="category_close"><i class="fa fa-times" aria-hidden="true"></i><span class="sound_only">카테고리 닫기</span></button>

</div>

<script>
$(function (){

    var $category = $("#category");

    $("#hd_ct").on("click", function() {
        $category.css("display","block");
    });

    $("#category .category_close").on("click", function(){
        $category.css("display","none");
    });

     $(".cate_bg").on("click", function() {
        $category.css("display","none");
    });

    $("button.sub_ct_toggle").on("click", function() {
        var $this = $(this);
        $sub_ul = $(this).closest("li").children("ul.sub_cate");

        if($sub_ul.size() > 0) {
            var txt = $this.text();

            if($sub_ul.is(":visible")) {
                txt = txt.replace(/닫기$/, "열기");
                $this
                    .removeClass("ct_cl")
                    .text(txt);
            } else {
                txt = txt.replace(/열기$/, "닫기");
                $this
                    .addClass("ct_cl")
                    .text(txt);
            }

            $sub_ul.toggle();
        }
    });
});
  
</script>


 

이 질문에 댓글 쓰기 :

답변 1

흠 제가 보기에는 제이커리와 자바스크립트와 php의 기본 정의 알아야 설명 이가능 합니다

답변을 작성하시기 전에 로그인 해주세요.
전체 40
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT