我有以下代码,每当单击按钮时都会触发两个函数。但是,它只触发函数一次。如果我再次单击它,它不会执行任何操作。我需要重置这个队列,以便它在我每次单击该按钮时都会触发函数。
另外,我这样做只是为了延迟函数被触发1000ms --有没有其他方法可以做到这一点?
$('#play').click(function() {
// other code..
$(this).delay(1000).queue(function(){ countHourly(); countFlights() });
});
发布于 2010-05-13 01:33:19
jQuery.delay()最适合于在队列jQuery效果和类似效果之间进行延迟,并且不是JavaScript的本机setTimeout函数的替代品,后者可能更适合某些用例。http://api.jquery.com/delay/
在这种情况下,我建议使用setTimeout函数
$('#play').click(function() {
setTimeout(function(){ countHourly(); countFlights() }, 1000);
});
发布于 2010-05-13 01:36:55
设置计时器以延迟队列中后续项目的执行。
$(this).delay(1000).queue(function(){ countHourly(); countFlights() });// delay 1000 would just happen if $(this) is being animated before .delay(1000)...
我建议您使用window.setTimeout()
https://stackoverflow.com/questions/2823906
复制相似问题