2010-10-06 39 views
5

Je cherchais un moyen d'inclure un "tout développer" et "tout réduire". J'ai mis à jour la démo avec le nouveau code en utilisant un simple accordéon jquery.Accordéon Jquery Tout développer Réduire tout

Le code d'origine doit être créditée à Ryan Stemkoski à http://www.stemkoski.com/stupid-simple-jquery-accordion-menu/

Démo: 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

Juste pour signaler, vous ne devez modifier le titre pour inclure « Résolu » une fois que vous obtenez une réponse. Lorsqu'une réponse a été acceptée, le nombre de réponses sur la page principale passera du blanc au jaune pour indiquer que le problème est résolu. –

+0

grâce à cette question et réponse ... cela m'a sauvé ... –

Répondre

3

Je voudrais ajouter une classe ou d'ID à l'expansion et des liens effondrement alors quelque chose comme ça fonctionnera

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

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

Merci pour le conseil. J'ai modifié le code pour le faire fonctionner. – Evan

5

Cela peut être résolu beaucoup plus facilement. Utilisez simplement la commande hide/show de jQuery sur l'élément accordéon ('.ui-widget-content') que vous voulez développer/réduire.

exemple:

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

Voir violon: http://jsfiddle.net/ekelly/hG9b5/11/