你可以看到这里发生了什么http://goo.gl/bBMx6x(这是一个小提琴,它不允许我在没有 c&p 代码的情况下发布它)点击开始,等待几秒钟,然后按停止..如果它从一开始就具有较低的持续时间,它会跳到(我认为)位置。
我想做的是让它旋转,然后停止“完成”旋转,但要快一点..
你可以看到这里发生了什么http://goo.gl/bBMx6x(这是一个小提琴,它不允许我在没有 c&p 代码的情况下发布它)点击开始,等待几秒钟,然后按停止..如果它从一开始就具有较低的持续时间,它会跳到(我认为)位置。
我想做的是让它旋转,然后停止“完成”旋转,但要快一点..
以您尝试的方式做这件事是不可能的。(因为你猜的原因)
您必须在 javascript 中计算第二个动画必须开始的方式。
脚本是
$(document).ready(function() {
$(".start").click(function(e) {
e.preventDefault();
var elem = document.getElementById('idtest');
elem.style["-webkit-animation"] = "";
elem.style["-webkit-animation-delay"] = "";
$("#idtest").removeClass("spin2").addClass("spin");
});
$(".stop").click(function(e) {
e.preventDefault();
Stopping ();
});
$(".test").on("animationend",
function() {
$(this).removeClass("finishSpin");
}
);
});
function Stopping () {
var elem = document.getElementById('idtest');
var style = window.getComputedStyle (elem, null);
var frame = style.getPropertyValue("z-index");
var delay = - frame / 36;
elem.style["-webkit-animation"] = "spin2 10s 1 linear";
elem.style["-webkit-animation-delay"] = delay + "s";
elem.className = "";
}
思路如下:
我只将你的小提琴改编为 webkit,但其他浏览器的想法是一样的。