2017-06-28 5 views
0

フィドル:https://jsfiddle.net/scrfbe95/本部自動的に閉じていないときの内側をクリックした項目

あなたはそれが右側に別のdivが表示されますcerteinリストの項目をクリックしたら、今のリンクを持つアイテムのリストをメインのdivを使用してイムメインのdivの。

しかし、uは、メインのdivが閉じませんメインのdiv内certeinのリンクをクリックしたときに何イムやろうとすることです。

<div id="main-div1" class="main-div"> 
    Main div 1 
    <div class="content"> 
     <ul> 
      <li> <a href=""> item 1 </a> </li> 
      <li> <a href=""> item 1 </a> </li> 

     </ul> 
    </div> 
</div> 
<div id="main-div2" class="main-div"> 
    Main div 2 
    <div class="content"> 
     <ul> 
      <li> <a href=""> item 1 </a> </li> 
      <li> <a href=""> item 1 </a> </li> 

     </ul> </div> 
</div> 
<div id="main-div3" class="main-div"> 
    Main div 3 
    <div class="content"> 
     <ul> 
      <li> <a href=""> item 1 </a> </li> 
      <li> <a href=""> item 1 </a> </li> 

     </ul> </div> 
</div> 


.main-div { 
    padding: 10px; 
    margin-top: 5px; 
    background-color: #000; 
    color: #fff; 
} 

.main-div > .content { 
    display: none; 
    color: #fff; 
} 


(function($) { 
    $(document).on('click','.main-div',function() { showMainDiv($(this)); }); 

    function showMainDiv($el) { 
    var $elContent = $el.find('.content'); 
     if ($elContent.is(':visible')) { 
     $elContent.stop(true,true).slideUp(500); 
    } 
    else { 
     $('.main-div').find('.content').stop(true,true).not($elContent).slideUp(500); 
     $elContent.slideDown(500); 
    } 
    } 
})(jQuery); 
+0

あなたは簡単な例を追加したり、フィドル – Omi

+0

こんにちは@Omiを作成することができますが起こっていただきました!私はすでにそれを考え出しました。何イムuがメインのdivが閉じませんcerteinリストの項目をクリックした場合にやろうと。しかし、今のメインのdivは、uは自動的に閉じhttps://jsfiddle.net/scrfbe95/にそれの内側にあなたがコンテンツを右クリックした場合、メニューを非表示にしたいいけない –

+0

をcertein項目をクリックすると、これはフィドルで閉じ?あなたが別のメインメニューまたはメインのdivをクリックしたときに@omi – Omi

答えて

0

div要素がクリックされた場合にのみ反応するようにクリックリスナを変更し、この

$(document).on('click','.main-div',function(e) { 
    if (e.target !== this) 
    return; 

    showMainDiv($(this)); }); 

のような意図divがここfiddleがありますさ。

関連する問題