Come sbiadire tutti i div in un contenitore tranne uno con jQuery?
Domanda
Ci penso io:
$("#id").click(function() {
$('.swoosh div').fadeOut('fast', function(){
$('.template').fadeIn('fast');
});
});
.swoosh
è il Div del contenitore, e.template
è il div che voglio rimanere quando faccio clic su #id
, mentre tutti gli altri div all'interno .swoosh
scomparire.
Mi sento un po 'sciocco, ma ho giocato in giro per anni inutilmente. Per favore aiuta un fratello a uscire.
Soluzione
Probabilmente puoi usare il not
Doc selettore
$("#id").click(function() {
$('.swoosh div:not(.template)').fadeOut('fast');
});
Altri suggerimenti
$('.swoosh div[class!="template"]').fadeOut('fast');
$("#id").click(function() {
$('.swoosh div').fadeOut('fast');
$('.template').fadeIn('fast');
});
Dato che stai sbiadendo il Div del contenitore, sembra logico che anche tutti gli elementi all'interno di quel div stiano svanendo. Quindi, quello che puoi fare è estrarre l'elemento dal Div del contenitore e posizionarlo da qualche altra parte nel DOM, prima di sbiadire il Div del contenitore. In questo modo, dovrebbe rimanere visibile.
vecchia domanda ma anche questo funzionerebbe
$("#id").click(function() {
$('.swoosh div').not($('.template')).fadeOut('fast');
});