Desidero utilizzare una transizione colore CSS3 per applicare un effetto colore di evidenziazione-dissolvenza (da giallo a trasparente) a nuovi elementi aggiunti al markup utilizzando JQuery.Transizione CSS3 per evidenziare i nuovi elementi creati in JQuery
CSS
#content div {
background-color:transparent;
-moz-transition:background-color 2s;
-webkit-transition:background-color 2s;
-o-transition:background-color 2s;
transition:background-color 2s;
}
#content div.new {
background-color:yellow;
}
HTML
<div id="content"></div>
<a id="add-element" href="#">add new element</a>
JS
$('#add-element').click(function() {
var newElement = $('<div class="new">new element</div>');
$('#content').append(newElement);
newElement.removeClass('new');
});
quando clicco sul link, viene creato il nuovo elemento. La sua classe è "nuova" (colore di sfondo giallo) e viene aggiunta al codice HTML. Dovrei essere in grado di rimuovere immediatamente la "nuova" classe per attivare la transizione del colore di sfondo su trasparente (o qualsiasi altro colore). Ovviamente sto sbagliando, poiché il colore di sfondo del nuovo elemento è immediatamente mostrato come trasparente, senza effetto di transizione. So che posso farlo nell'interfaccia utente di JQuery, ma mi piacerebbe usare le transizioni CSS3.
jsfiddle qui:
http://jsfiddle.net/paulaner/fvv5q/
Grazie. Funziona su Chrome ma sembra essere instabile e irregolare su Firefox. – Paulaner
@Paulaner Andy ha la risposta giusta, e questo è ciò a cui sto pensando. Usare 1000 invece di 0 potrebbe essere migliore dato che vuoi vedere la transizione, 0 semplicemente lampeggia il colore e va via. A proposito, non vedo la transizione qui con FF15, invece è un giallo solido, non ancora supportato? @Andy, non lo considero un 'hack'. In questa particolare situazione, dovrebbe funzionare in questo modo perché jQuery esegue immediatamente removeClass dopo l'aggiunta, ed è per questo che la transizione ** dovrebbe ** non essere vista. – user1643156
Grazie ragazzi. Rezigned ha appena pubblicato una soluzione pulita che funziona perfettamente per me. – Paulaner