Je suis coincé dans un toggle() cauchemar, et je demande enfin de l'aide.Faire face à plusieurs bascules
Ce que je veux est assez simple, j'ai trois liens:
a.showcountries.bronze
a.showcountries.silver
a.showcountries.gold
et trois boîtes:
.countries.bronze
.countries.silver
.countries.gold
Vous pouvez probablement voir aready ce que je suis en train de faire. Toutes les cases sont cachées par défaut, quand je clique sur le bronze, il glisse le bronze, clique dessus, il glisse vers le haut, et ainsi de suite. Le problème que j'ai est que les trois boîtes occupent le même espace sur la page, donc je ne peux avoir qu'une boîte ouverte à la fois. Donc, je clique sur le bronze, glisse vers le bas de la boîte de bronze, et si je puis cliquez sur l'argent, il devrait glisser vers l'arrière et l'une d'argent glisse vers le bas ...
$('a.showcountries.bronze').toggle(
function(){
$('.countries.silver, .countries.gold').slideUp();
$('.countries.bronze').slideDown();
},
function(){
$('.countries.bronze').slideUp();
}
);
$('a.showcountries.silver').toggle(
function(){
$('.countries.bronze, .countries.gold').slideUp();
$('.countries.silver').slideDown();
},
function(){
$('.countries.silver').slideUp();
}
);
$('a.showcountries.gold').toggle(
function(){
$('.countries.silver, .countries.bronze').slideUp();
$('.countries.gold').slideDown();
},
function(){
$('.countries.gold').slideUp();
}
);
Je me bats pour obtenir les transitions à travailler, comme les bascules semblent désynchronisées et parfois je finis par devoir cliquer deux fois sur un lien avant de faire quoi que ce soit. Je suis également sûr qu'il existe une solution qui utilise beaucoup moins de code. J'ai essayé de détecter la classe et de la passer à une fonction commune pour faire tout cela, mais je n'ai pas pu la jouer.
Vous devriez changer votre classe d'éléments par exemple .showcountries.gold en .showcountries_gold ou quelque chose comme ça juste enlever les points du milieu de votre nom de classe. – kst
@kst: les points ne font pas partie du nom de la classe; ils délimitent des classes séparées. Dans la syntaxe de sélection de CSS, 'div.class-a.class-b' sélectionne un' div' avec à la fois 'class-a' et' class-b'. –
Dieu merci, les gens ne donnent traditionnellement que trois types de médailles, qu'allez-vous faire s'il y en avait cinq? : P –