【发布时间】:2015-01-11 23:52:21
【问题描述】:
本想完成动画,顺利恢复原状,却出现了跳跃。
必要条件,动画的持续时间可以是任何东西。
我尝试使用 CSS 功能来做到这一点。
setTimeout(function() {
$('div').addClass('stop');
}, 2500);
div {
width: 50px;
height: 300px;
margin: 50px 150px;
background-color: green;
-webkit-animation: wiggle 2s linear infinite;
animation: wiggle 2s linear infinite;
}
.stop {
-webkit-animation: none;
animation: none;
}
@-webkit-keyframes wiggle {
0% {
-webkit-transform: rotate(0);
transform: rotate(0);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
@keyframes wiggle {
0% {
-webkit-transform: rotate(0);
transform: rotate(0);
}
100% {
-webkit-transform: rotate(360deg);
transform: rotate(360deg);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div></div>
【问题讨论】:
-
@misterManSam 我添加了一个新类,并告诉他,嘿,我不需要无穷大,重复一次并完成,但它不起作用。
-
我创建了一个几乎简单的动画,它可以停止并旋转回到起点。请检查我的更新答案:)
-
@misterManSam 谢谢!您的解决方案有效,但我认为有一个简单的解决方案,使用 CSS 的功能。目前是最简单的solution也许你有什么想法?
-
这是一个棘手的问题。使用 CSS 动画,它需要 div 的当前角度才能动画到 0。没有 javascript 无法获取当前旋转角度。
标签: css css-animations