【发布时间】:2012-12-10 05:53:19
【问题描述】:
我想要实现的是动作的脉动效果(例如按钮点击)。所以我做的是这个(简化的[删除浏览器细节]):
@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');
}
但正如您可以想象的那样,它不起作用......有什么想法吗?我希望每次单击按钮时元素都会跳动。
【问题讨论】:
-
如果我记得有一次我刚刚使用 jQuery 将 CSS 属性(不是类)添加到某个元素并看到过渡立即应用于它。
-
是错字吗?
$('#btn').click(function(e)){你有一个额外的) -
是的,这是一个错字;)告诉你我在简化事情:)
标签: jquery css-transitions css-animations