Continue CSS rotation de l'animation sur le vol stationnaire, animé retour à 0deg sur le vol stationnaire hors
J'ai un élément qui tourne lorsque vous passez la souris sur une durée indéterminée. Lorsque vous passez, l'animation s'arrête. Simple:
@-webkit-keyframes rotate {
from {
-webkit-transform: rotate(0deg);
}
to {
-webkit-transform: rotate(360deg);
}
}
.elem:hover {
-webkit-animation-name: rotate;
-webkit-animation-duration: 1.5s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
Lorsque vous passez la souris, cependant, l'animation est brutalement interrompue, le retour à 0 degrés. J'aimerais animer retour à cette position, mais j'ai un peu de mal à travailler la syntaxe.
Toute entrée serait génial!
- Pour être honnête, je ne pense pas que vous le pouvez. J'ai créé un jsFiddle de toute façon, donc si quelqu'un a une idée... jsfiddle.net/4Vz63/1
- Merci pour le jsfiddle - perplexe, moi-même, il semble que cela devrait être possible avec des images clés, mais je ne suis pas du tout familier avec les CSS# animation syntaxes encore.
- Je pense que vous pouvez obtenir l'effet inverse d'une animation uniquement à l'aide de l'-webkit-transition de la propriété et non pas avec l'-webkit-animation
- Bien sûr, vous pouvez le faire en JS, mais pas en pur CSS. Aussi s'il vous plaît vérifier cette solution qui est assez proche de ce que vous voulez - jsfiddle.net/SebastianPataneMasuelli/nkEwQ/7
Vous devez vous connecter pour publier un commentaire.
La solution est de définir la valeur par défaut dans votre .elem.
Mais cette annimation fonctionner correctement avec -moz mais pas encore à mettre en webkit
Regarder le violon, j'ai mis à jour de la vôtre :
http://jsfiddle.net/DoubleYo/4Vz63/1648/
Il fonctionne très bien avec Firefox mais pas avec Chrome
CSS:
HTML:
-moz-animation-duration: 6s
(rien de magique 6s) 1,5 s est trop rapide pour les FFborder-style
Voici une simple solution de travail:
Il a fallu quelques essais, mais j'ai été en mesure d'obtenir votre jsFiddle de travail (pour Webkit seulement).
Il y a toujours un problème avec la vitesse de l'animation lorsque l'utilisateur rentre dans le div.
Fondamentalement, il suffit de régler la rotation actuelle de la valeur à une variable, puis faire quelques calculs sur cette valeur (pour convertir en degrés), puis définissez la valeur de retour de l'élément de déplacement de la souris et de la souris à l'entrée.
Découvrez le jsFiddle: http://jsfiddle.net/4Vz63/46/
Consultez cet article pour plus d'informations, y compris comment ajouter de la croix-compatibilité avec les navigateurs:
http://css-tricks.com/get-value-of-css-rotation-through-javascript/
De la croix-navigateur compatible JS solution:
JS:
CSS:
HTML:
Voici un javascript de mise en œuvre qui travaille avec web-kit:
JSFiddle: http://jsfiddle.net/4Vz63/161/
Barf.
Ce que je fais est une chose très facile... déclarer une variable globale au début... et puis incrémenter la variable cependant beaucoup de j'aime, et de l'utilisation .css de jquery pour incrémenter.
Vous devriez déclenchement de l'animation de revenir une fois qu'il est terminé, w/javascript.
CSS
et il est, et a, d'ores et déjà possible avecCSS
. D'où le downvote