簡體   English   中英

下拉菜單jquery切換項目

[英]dropdown menu jquery toggle items

我有一個jQuery下拉菜單的問題。 我的代碼:

$('.item-active, .item').click(function() { 
    $(this).toggleClass('item-active');
    if($('h3').hasClass('item-active')) {
        $(this).siblings().css( 'display', 'block' );       
    }   

    $(this).toggleClass('item');    
    if($('h3').hasClass('item')) {
        $(this).siblings().css( 'display', 'none' );    
    }
});
<div>
    <h3 class="item-active">item 1</h3>
    <div class="item-desc">Lorem Lorem</div>
</div>
<div>
    <h3 class="item">item 2</h3>
    <div class="item-desc">Lorem Lorem</div>
</div>
<div>
    <h3 class="item">item 3</h3>
    <div class="item-desc">Lorem Lorem</div>
</div>

我只需要在點擊相關的h3時切換菜單。 此外,只有一個項目可能同時處於活動狀態(其余描述應隱藏)

要解決這個問題,您可以簡單地使用.item-active removeClass()從所有元素中刪除.item-active類,然后在單擊的元素上切換它。

另請注意,您可以簡化JS代碼以修改類,並使用+兄弟運算符將CSS保留為隱藏/顯示.item-desc 嘗試這個:

 $('.item').click(function() { $('.item').not(this).removeClass('item-active'); $(this).toggleClass('item-active'); }); 
 .item-active { color: #C00; } .item-desc { display: none; } .item-active + .item-desc { display: block; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div> <h3 class="item item-active">item 1</h3> <div class="item-desc">Lorem Lorem</div> </div> <div> <h3 class="item">item 2</h3> <div class="item-desc">Lorem Lorem</div> </div> <div> <h3 class="item">item 3</h3> <div class="item-desc">Lorem Lorem</div> </div> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM