Comment avoir un élément css avec des transitions excepté?

Si j’ai un style css c’est ce qui suit:

.transition { transition: left linear .4s; -moz-transition: left linear .4s; -o-transition: left linear .4s; -webkit-transition: left linear .4s; } 

et le code HTML suivant:

 
Test

et le jQuery suivant:

 $(function () { $('#mydiv').css('left', '50px'); $('#mydiv').addClass('transition'); }); 

il y a toujours une transition de 0px à 50px lors du chargement de la page, bien que la classe de transition ne soit ajoutée à mydiv qu’après le paramétrage de la propriété css left dans jQuery.

Je souhaite pouvoir définir la propriété initiale css left de mydiv lors du chargement de la page (calculée en fonction de divers parameters) sans être animée, tout en maintenant la propriété de transition définie pour après le chargement de la page les chargements de page doivent être animés).

Comment puis-je accomplir cela?

Vous pouvez appliquer la position sur dom ready et la transition au chargement de la page. Essayez ce violon .

 $(function () { $('#mydiv').css('left', '50px'); }); $(window).load(function(){ $('#mydiv').css('left', '100px'); $('#mydiv').addClass('transition'); }); 

Vous devez séparer l’application des deux styles. Vous pouvez accomplir le même effet avec un setTimeout .