簡體   English   中英

切換打開/關閉手風琴

[英]Toggle open/close accordion

我需要使用相同的按鈕使手風琴菜單切換為打開/關閉狀態。

目前,它只是打開,我無法關閉它。

我的代碼在下面,或者這是我的jsFiddle: http : //jsfiddle.net/ndczc728/5/

//Accordion
(function($) {

var allPanels = $('ul.sub-level').hide();

$('.click-me').click(function() {
    $this = $(this);
    $target =  $this.next();

    if(!$target.hasClass('active')){
        allPanels.removeClass('active').slideUp();
        $target.addClass('active').slideDown();
    }

    return false;
});

})(jQuery);

非常簡單...只需將else語句添加到您的If語句中:

//Accordion
(function($) {

    var allPanels = $('ul.sub-level').hide();

    $('.click-me').click(function() {
      $this = $(this);
      $target =  $this.next();

      if(!$target.hasClass('active')){
         allPanels.removeClass('active').slideUp();
         $target.addClass('active').slideDown(); 
      }
      else
      {
         allPanels.removeClass('active').slideUp();
      }

    return false;
    });

})(jQuery);

工作的JSFiddle: http//jsfiddle.net/ndczc728/15/

您從未備份過它。

http://jsfiddle.net/ndczc728/8/

    if(!$target.hasClass('active')){
         $target.addClass('active').slideDown();
      }
      else
      {
         $target.removeClass('active').slideUp();
      }

這是跟蹤計數的簡單修補程序:

演示

(function ($) {
    $('ul.sub-level').hide();
    var c = 1;
    $('.click-me').click(function () {
        c++ % 2 == 0 ? $('ul.sub-level').slideUp() : $(this).next().slideDown();
        return false;
    });
})(jQuery);

暫無
暫無

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

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