有几种链接动画的方法 - 有纯CSS方式,使用-webkit-animation-delay,在这里定义多个动画并告诉浏览器何时启动它们,例如,
-webkit-animation: First 1s, Second 2s;
-webkit-animation-delay: 0s, 1s;
/* or -moz etc.. instead of -webkit */
另一种方法是绑定到动画结束事件,然后再启动另一个。不过,我发现这是不可靠的。
$('#id')
.bind('webkitAnimationEnd',function(){ Animate2() })
.css('-webkit-animation','First 1s');
第三种方法是在Javascript中设置超时并更改css动画属性。这是我大部分时间使用的方式,因为它是最灵活的:您可以轻松更改时间,取消动画序列,添加新的和不同的动画,并且我从来没有遇到像绑定到transitionEnd的失败问题事件。
$('#id').css('-webkit-animation','First 1s');
window.setTimeout('Animate2("id")', 1000);
function Animate2....
它比绑定更多的代码,当然,它比CSS更多,但它更可靠,更灵活。
太棒了!我有一种感觉,我可能需要使用一些js,但这对我来说很好。我会尝试第三个选项。 – wlindner
还有一点需要注意 - 如果您需要在动画序列中检测click()事件,请使用onMouseDown()而不是click(),因为有些浏览器会在点击click()之前完成动画序列,而所有他们似乎在动画期间触发onMouseDown()就好了。 –
太好了,我会试试看。 – wlindner