Jquery清除/重置.Queue()?

时间:2010-05-13 01:21:44

标签: jquery

我有以下代码,只要单击一个按钮就会触发两个函数。但是它只启动一次功能。如果我再次点击它,它什么都不做。我需要重置此队列,以便每次单击按钮时都会触发这些函数。

另外,我只是这样做,所以我可以延迟函数被激活1000ms - 还有另一种方法吗?

$('#play').click(function() { 
// other code..

$(this).delay(1000).queue(function(){ countHourly(); countFlights() });

});

2 个答案:

答案 0 :(得分:3)

  

jQuery.delay()最适合在排队的jQuery效果之间进行延迟,并且不能替代JavaScript的本机setTimeout函数,这可能更适合某些用例。 http://api.jquery.com/delay/

我建议你在这种情况下使用setTimeout函数

$('#play').click(function() { 
  setTimeout(function(){ countHourly(); countFlights() }, 1000);
});

答案 1 :(得分:1)

  

设置定时器以延迟执行   队列中的后续项。   .delay()

$(this).delay(1000).queue(function(){ countHourly(); countFlights() });// delay 1000 would just happen if $(this) is being animated before .delay(1000)...

我建议您使用window.setTimeout()