2010-10-31 12 views
12

Mi piacerebbe ogni volta che il div si espande, per aggiungere la classe 'selecionado' una volta terminata l'espansione. Al termine della contrazione (la parte slideUp) vorrei rimuovere questa classe.jquery - come aggiungere/rimuovere la classe su slideToggle?

Posso avere un aiuto qui per favore?

$('#btCategoriaA').click(function() 
{ 
    $('#listaCategoriaA').slideToggle('slow', function() { 
    $('#btCategoriaA').addClass('selecionado'); 
    }); 
}); 

Grazie in anticipo, MEM

risposta

31

È possibile attivare o disattivare la classe utilizzando .toggleClass() base se l'elemento .is():visible dopo l'animazione, in questo modo:

$('#btCategoriaA').click(function() { 
    $('#listaCategoriaA').slideToggle('slow', function() { 
    $('#btCategoriaA').toggleClass('selecionado', $(this).is(':visible')); 
    }); 
}); 
+1

Davvero Rock On js don sei tu? : P Grazie mille. : D – MEM

+0

Un'altra cosa, per favore, lo sto usando usando gli stati css come a: hover. Il fatto è che ho bisogno di disabilitare l'hover, una volta che l'utente fa clic, altrimenti l'effetto sarà abbastanza strano, perché una volta cliccato lo stato dovrebbe cambiare, ma dal momento che è al passaggio del tempo, non lo fa. : s Esiste un modo per disattivare l'a: hover applicato una volta che l'utente fa clic o qualcosa del genere? – MEM

+0

@MEM - Puoi avere il ': hover' come' a.Off: hover' e rimuovere la classe 'Off' quando aggiungi l'opzione' selecionado'. –

Problemi correlati