Je souhaite faire glisser un élément en manipulant la marge de gauche.transition marge-gauche non animée
Je l'ai fonctionné en utilisant jQuery animate()
mais je veux améliorer les performances en utilisant les transitions CSS. J'utilise jQuery pour ajouter une nouvelle classe à l'élément que je veux faire glisser mais il n'anime pas - il déplace l'élément instantanément.
Voici un JS Fiddle montrant le problème.
Si vous cliquez sur le bouton "animer gauche", il utilise jQuery animate()
et fonctionne comme prévu.
Si vous cliquez sur le bouton 'transition left', il ajoute la classe 'slide' à l'élément mais ne fonctionne pas comme prévu.
J'ai essayé de changer les marges de l'auto à un pourcentage fixe, mais cela n'a pas aidé du tout. Il est intéressant de noter que si vous appuyez sur F12 et modifiez manuellement la propriété margin-left de la classe 'slide' de -100% à -50%, elle s'anime!
Des idées pour lesquelles cela ne fonctionne pas?
la question était de savoir pourquoi la marge gauche ne fonctionne pas, ne pas utiliser la traduction. –
Fait intéressant, cela semble fonctionner avec translate, mais pas margin-left. Je dirais que cette réponse est une bonne alternative pour arriver à la même chose. Malheureusement, cela n'explique pas pourquoi l'animation de la marge gauche ne fonctionne pas. Des idées là-bas? – RMo
J'ai accepté la réponse de dejakob, car je pouvais laisser la marge en mode automatique, mais aucune des réponses n'a réussi à faire fonctionner la transition sans enlever la div ajoutée dynamiquement, ce dont j'ai besoin. La div dynamiquement ajoutée semble être la raison pour laquelle la transition ne fonctionne pas :(Merci à tous pour votre aide. – Damian