我有以下代码,只要单击一个按钮就会触发两个函数。但是它只启动一次功能。如果我再次点击它,它什么都不做。我需要重置此队列,以便每次单击按钮时都会触发这些函数。
另外,我只是这样做,所以我可以延迟函数被激活1000ms - 还有另一种方法吗?
$('#play').click(function() {
// other code..
$(this).delay(1000).queue(function(){ countHourly(); countFlights() });
});
答案 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()