我想要实现的是对动作的脉动效果(例如单击按钮)。所以我做的是这个(简化的[删除浏览器细节]):
@keyframes pulse {
0% {transform: scale(1);}
50% {transform: scale(1.02);}
100% {transform: scale(1);}
}
.pulsate{
animation-name: pulse 0.2s linear 2;
}
在 jQuery 中,我这样做了:
$('#btn').click(function(e)){
e.preventDefault();
$('#some_element').addClass('pulse');
}
它工作正常,但只是第一次......一旦添加了“脉冲”类,它就不再触发......所以我试图做的是:
$('#btn').click(function(e)){
e.preventDefault();
$('#some_element').removeClass('pulsate').addClass('pulsate');
}
它仍然无法正常工作......与此相反:
$('#btn').click(function(e){
e.preventDefault();
$('#some_element').toggleClass('pulsate');
}
这第一次有效,第二次无效,但第三次又有效;所以基本上每隔一段时间。
我很困惑。为什么它会以这种方式工作而不是再次删除和添加它?我什至尝试创建一个重置类(再次简化):
.reset_transform(){
transform: none;
}
在 jQuery 中,我正在做类似的事情:
$('#btn').click(function(e)){
e.preventDefault();
$('#some_element').removeClass('pulsate').addClass('reset_transform').addClass('pulsate');
}
但正如你可以想象的那样,它不起作用......有什么想法吗?我希望每次单击按钮时元素都会跳动。