2014-03-14 36 views
0

我想當用戶單擊一下降所有其他打開DropDown得到關閉。我在谷歌尋找答案,但這不適合我的下拉列表,我知道這很簡單,但我無法這樣幫助我!當用戶打開一個DropDown關閉其他DropDownns

<div class="hh_drop_down"> 
<ul class="hh_main"> 

    <li class="hh_main_menu"> 
    <a href="javascript:void(0);" class="hh_sf">Chemicals</a> 
    <ul class="hh_inner"> 
     <li><a href="#">Additives/Boosters</a></li> 
     <li><a href="#">Anti-Allergen</a></li> 
     <li><a href="#">Concrete</a></li> 
    </ul> 
    </li> 

    <li class="hh_main_menu" > 
    <a class="hh_sf" href="#">Equipment</a> 
     <ul class="hh_inner"> 
     <li><a href="#">Deodorization</a></li> 
     <li><a href="#">Duct Cleaning Equipment</a></li> 
     <li><a href="#">Hard Surface</a></li> 
    </ul> 

    </li> 

    <li class="hh_main_menu" > 
    <a class="hh_sf" href="#">Accessories</a> 
     <ul class="hh_inner"> 
      <li><a href="#">Bonnets/Pads</a></li> 
      <li><a href="#">Brush/Rake/Sponge</a></li> 
     <li><a href="#">Carpet Rakes</a></li> 
     </ul> 
    </li> 

</ul> 
</div> 

和jQuery我正在使用本:

<script> 
$(document).ready(function(){ 
    $(".hh_main").on('click' , '.hh_sf' , function(event){ 
     event.preventDefault(); 
     if($(this).next().hasClass('hh_inner')) { 
     $(this).next().slideToggle(); 
    } 
    }); 
}); 
</script> 

回答

1

試試這個:

HTML:

<div class="hh_drop_down"> 
    <ul class="hh_main"> 

     <li class="hh_main_menu"> 
      <a href="javascript:void(0);" class="hh_sf">Chemicals</a> 
      <ul class="hh_inner expanded"> 
       <li><a href="#">Additives/Boosters</a></li> 
       <li><a href="#">Anti-Allergen</a></li> 
       <li><a href="#">Concrete</a></li> 
      </ul> 
     </li> 

     <li class="hh_main_menu"> 
      <a class="hh_sf" href="#">Equipment</a> 
      <ul class="hh_inner expanded"> 
       <li><a href="#">Deodorization</a></li> 
       <li><a href="#">Duct Cleaning Equipment</a></li> 
       <li><a href="#">Hard Surface</a></li> 
      </ul> 

     </li> 

     <li class="hh_main_menu"> 
      <a class="hh_sf" href="#">Accessories</a> 
      <ul class="hh_inner expanded"> 
       <li><a href="#">Bonnets/Pads</a></li> 
       <li><a href="#">Brush/Rake/Sponge</a></li> 
       <li><a href="#">Carpet Rakes</a></li> 
      </ul> 
     </li> 

    </ul> 
</div> 

JQuery的:

<script> 
    $(document).ready(function() { 
     $(".hh_sf").next().addClass("collapsed").slideUp(); 

     $(".hh_main").on('click', '.hh_sf', function (event) { 
      event.preventDefault(); 
      var currentClass = $(this).next().prop('class'); 
      if (currentClass == "hh_inner expanded") { 
       $(this).next().removeClass("expanded"); 
       $(this).next().addClass("collapsed"); 
       $(this).next().slideUp(); 
      } else { 
       $(".expanded").slideUp().addClass("collapsed").removeClass("expanded"); 

       $(this).next().removeClass("collapsed"); 
       $(this).next().addClass("expanded"); 
       $(this).next().slideDown(); 
      } 

     }); 
    }); 
</script> 

JsFiddle

+0

它的工作,但是當我點擊同一鏈接就像如果我再次點擊化學品,我想,要關閉,但它不是關閉.. – user3226792

+0

當我點擊1個鏈接兩個時間它不打烊!請幫助我:) – user3226792

+0

我不知道你到底想要做什麼,顯示所有li在展開時展開,或者只展開一個展開。可能是這樣,可以幫助你達到你的要求 – 111

相關問題