Domanda
Come posso assicurarmi che più div siano fatti scorrere verso l'alto? In questo momento ho questa funzione:
$("div#personal").click(function() {
$("div.1").slideUp("slow", function () { $("div.2").slideDown("slow") } );
});
Quello che vorrei fare è assicurarsi che tutti i div che sono chiamati:
- div.1
- div.2 SALVO QUESTO
- div.3
- div.4
- div.5
viene spostato verso l'alto, tranne il secondo div.
Soluzione
Puoi utilizzare il selettore not per evitare che uno (o più) di essi scivoli up:
$("div#personal").click(function() {
$("div :not('#idofseconddiv'").slideUp("slow");
});
Sarebbe una buona idea assegnare a questi div una classe css comune, quindi il selettore non seleziona tutti i div nella tua pagina:
$("div#personal").click(function() {
$("div.someClass :not('#idofseconddiv')").slideUp("slow");
});
Se stai usando nomi di classe numerati sui tuoi div, potresti prendere in considerazione l'uso di inizia con l'attributo filtrare :
$("div#personal").click(function() {
$("div[class^=yourClass] :not('#idofseconddiv')").slideUp("slow");
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow