2013-03-29 3 views
1

J'ai 3 divs que j'utilise pour afficher la navigation en haut de ma page sur mon site. Tout en utilisant la fonction JQuery:Plusieurs instances de slidetoggle JQuery

$('#div_button').click(function() { 
     $('#div_nav').slideToggle(); 
); 

Le problème est, je peux obtenir un scénario où je reçois 2 slidetoggles/divs les uns sur les autres et c'est pas bon. Lorsque je clique sur un bouton pour démarrer slideToggle, je voudrais supprimer tous les autres divs qui sont actuellement affichés.

Une image décrivant le problème:

2 DIVS ON TOP OF EACH OTHER

Quelqu'un peut-il proposer une solution?

Merci à l'avance

+0

Veuillez noter que dans l'image, les divs sont différents, juste un copier-coller, pour générer plus d'un type de div. – cwiggo

+0

Quelque chose comme ça peut-être? http://jsfiddle.net/78TRb/ Je travaille avec une classe '.active' pour vérifier laquelle est ouverte. –

+0

@Bondye hey bondye, une chance de faire fonctionner ce code avec des id au lieu de classes? On dirait que ça pourrait marcher. – cwiggo

Répondre

0

J'ai réussi à trouver un moyen de résoudre ce problème. Fondamentalement, vous devez utiliser cette fonction pour attendre d'autres slideToggles ou slideUPs pour compléter:

$('#tcd-home-view-nav').slideUp(function(){ 
    // Animation complete. 
    $('#tcd-home-edit-nav').slideToggle(); 
}); 

Vive les gens pour me aider à résoudre cela. Chris

0

hide() tous les autres div premier

$('#div_button').click(function() { 
    $('.otherDivClass').hide(); 
    $('#div_nav').slideToggle(); 
); 
+0

son droit, mais il ne donne pas l'effet désiré. il cache instantanément la div, où je voudrais que la div diviseuse actuelle glisse vers le haut et après l'achèvement de la nouvelle div pour glisser vers le bas. – cwiggo

0

l'aide d'un plugin comme accordéon vous permet d'appliquer la fonctionnalité que vous êtes après, sans l'ajout de classes à vos éléments d'en-tête et le contenu.

http://api.jqueryui.com/accordion/

L'alternative, si vous êtes convaincu que vous devez tenir à l'aide d'ID, est d'écrire 3 fonctions de clic distinctes, ouvrir et fermer les éléments pertinents à chacun.

+0

POURQUOI 3? Im seulement slideToggling vue et modifier + accordéon ne me donne pas l'effet désiré, je ne veux pas trop ressembler à une liste – cwiggo

+0

Peut-être que je suis un malentendu. Il est difficile d'obtenir votre signification sans code. – isherwood