如何在上次执行后触发click事件

时间:2013-05-24 07:00:59

标签: jquery jquery-click-event

我使用jquery .animate()函数制作了幻灯片。

我通过使用以下代码调用函数来点击下一个按钮动画:

$(document).ready(function() {
    $("#next").click(function(){next_slide()});
    });

它的工作正常,但我希望用户无法点击下一个按钮,直到上一个动画完成。

例如:如果用户将以毫秒为单位点击下一个按钮10次,则幻灯片放映将保持动画10次。

我希望如果第一个动画正在运行,那么如果用户点击甚至10次,但是在上一个动画之前不会调用函数next_slide()。

我只想要:

一次点击=一次调用next_slide()

以毫秒为单位进行多次点击=一次

请告诉我怎么做。

要查看代码,请访问http://jsfiddle.net/77NzW/2/

最好的问候

2 个答案:

答案 0 :(得分:4)

然后使用标志变量。在制作动画时将其设为true。完成动画后,将其设为false。

示例代码:

$(document).ready(function() {
$("#next").click(function(){
 if(flag == false)
  next_slide()}
 );
});

这不是确切的代码。请先执行一些更改,例如声明变量......等等。

答案 1 :(得分:1)

您可以在点击下一个或上一个时简单地设置一个布尔变量var slideOver = true。并且如果设置了该变量,则阻止执行滑动div的代码。

请参阅小提琴 - :http://jsfiddle.net/77NzW/6/