【发布时间】:2015-05-06 23:15:21
【问题描述】:
我想知道如何防止多次点击,或者因为多次点击而多次触发一个事件。
假设我必须为一个对象设置动画。 一个按钮触发动画,另一个按钮重置动画。
<div class="div">
Animate Me!
</div>
<div class="nav">
<div class="start">start</div>
<div class="reset">reset</div>
</div>
我不在乎用户点击“星号”按钮多少次,动画必须只触发一次。 这并不意味着将来不能再触发动画。动画重置后,可以再次触发,以此类推。
$( '.start' ).click(function(){
$('.div').animate({
left: '+=' + 100});
});
$( '.reset' ).click(function(){
$('.div').animate({
left: 50});
});
这是我愿意做的一个例子:fiddle
尽量点击“开始”按钮,动画会根据点击次数触发。
我在网上查了一下,发现有两种方法可以防止多次点击。但是,它们似乎不适用于我。
1) 使用 .unbind() found here:
$( '.reset' ).unbind().click(function(){
$('.div').animate({
left: 50});
});
但它不起作用:fiddle;
2) 使用 event.stopImmediatePropagation found here:
$( '.reset' ).click(function(event){
event.stopImmediatePropagation()
$('.div').animate({
left: 50});
});
也不行。 fiddle;
如何防止“开始”按钮多次触发动画?但是在点击“reset”按钮时才被点击?
【问题讨论】:
标签: jquery css animation jquery-animate