2010-10-06 73 views
5

我正在尋找一種包含「全部展開」和「全部摺疊」的方法。我已經使用簡單的jQuery手風琴用新代碼更新了演示。Jquery手風琴展開全部收起全部

原始代碼應記入瑞安Stemkoski http://www.stemkoski.com/stupid-simple-jquery-accordion-menu/

演示:http://jsbin.com/ucalu3/5/

$(document).ready(function() { 
    $('.question').click(function() { 

    if($(this).next().is(':hidden') != true) { 
       $(this).removeClass('active'); 
    $(this).next().slideUp("normal"); 
    } else { 
    $('.question').removeClass('active'); 
    $('.answer').slideUp('normal'); 
    if($(this).next().is(':hidden') == true) { 
    $(this).addClass('active'); 
    $(this).next().slideDown('normal'); 
    } 
    } 
    }); 

    $('.answer').hide(); 

    $('.expand').click(function(event) 
    {$('.question').next().slideDown('normal'); 
     {$('.question').addClass('active');} 
    } 
); 

    $('.collapse').click(function(event) 
    {$('.question').next().slideUp('normal'); 
     {$('.question').removeClass('active');} 
    } 
); 
}); 
+0

只是想指出,你不需要編輯,包括「解決」,一旦你得到答案的題目。答案已被接受時,主頁上的答案數將從白色變爲黃色,表示問題已解決。 – 2010-10-09 20:23:10

+0

感謝這個問題和答案...這救了我... – 2012-09-27 14:59:25

回答

3

我想補充一個類或ID來展開和摺疊的鏈接,然後是這樣的將工作

$(document).ready(function() { 
    $("#expand").click(function(){ 
    ('.answer').slideDown('normal'); 
    }); 

    $("#collapse").click(function(){ 
    ('.answer').slideUp('normal'); 
    }); 
} 
+0

感謝您的提示。我修改了代碼以使其工作。 – Evan 2010-10-09 20:17:17

5

這可以更容易解決。

只需在要展開/摺疊的accordion元素('.ui-widget-content')上使用jQuery hide/show命令即可。

例如:

$(document).ready(function() { 
     $('.expand').click(function() { 
      $('.ui-widget-content').show(); 
     }); 
     $('.collapse').click(function() { 
      $('.ui-widget-content').hide(); 
     }); 
}); 

見琴:http://jsfiddle.net/ekelly/hG9b5/11/