Vérifier si l'élément est en cours d'animation CSS3
Est-il un moyen de vérifier si un élément est en cours d'animation?
Mais animés pas avec du jquery pour l'animation, mais avec css3 transition..
Le problème que j'ai c'est... j'ai ce curseur, cliquez sur la flèche, je lui donne
left = left+200
où la gauche est soit
element.position().left
ou
parseInt(element.css("left"));
(il n'a pas vraiment d'importance, le problème se produit avec)
l'élément est animé par un
transition: left 400ms ease-in-out;
ainsi, lorsque l'utilisateur clique sur la flèche une fois, puis à nouveau avant l'animation, les finitions, la gauche retourne la valeur en fonction de sa position(donc au lieu de dire.. 400px, il pourrait revenir 235.47 px depuis qu'il a été cliqué dans le milieu de l'animation)..
- Si vous animer à 400px, puis n'est-ce pas 235.47 px vous dire que c'est d'être animé?
- Je n'ai pas l'animer à 400px, je l'animer à courant de gauche + 220px, comment pouvais-je vérifier si il est déjà sur la gauche après l'animation, quand je ne sais pas vraiment la gauche après l'animation..
Vous devez vous connecter pour publier un commentaire.
Lorsque vous modifiez la
left
propriété d'un élément, vous pouvez associer une valeur booléenne avec elle (à l'aide de de données() par exemple) et on luitrue
pour indiquer une transition a commencé. Ensuite, vous pouvez lier à la la transition de fin de l'événement (qui varie selon le navigateur) et définir la valeur booléenne de retour àfalse
à partir de votre gestionnaire pour indiquer que la transition est terminée.Le résultat final est quelque chose comme:
(Notez le code ci-dessus n'a qu'à exécuter une seule fois.)