$(function(){ $("ul li").click(function(){ $("#btn").removeClass().addClass("shake"); var set = setTimeout(function(){ $("#btn").removeClass(); },1500) }) })
点击某元素,让另一个元素执行css3动画效果。
但第二次再点击,就不能执行动画了。
解决办法:
setTimeout(function(){
$("#btn").removeClass();
},1500);
在动画执行完之后,让这个元素的样式自动清空。(虽然点击时已经有了一个清空样式,但那无效);
注意:这个1500毫秒,应该大于你设定的动画时间:-webkit-animation-duration:1s;
本文介绍了一个常见问题的解决方案:当使用jQuery触发CSS3动画时,如何避免第二次点击后动画不再生效的问题。通过调整setTimeout函数内的样式清除时机,确保动画能够每次点击都正常执行。
5086

被折叠的 条评论
为什么被折叠?



