我使用setTimeOut来控制自动幻灯片。过早触发javascript setTimeOut事件
(你可以在这里看到:http://thingist.com/labs/ipad.shtml - 基本漂亮的东西来看待,而我的工作映像从reddit的的API来了。)
代码看起来大约是这样的:
next() {
image_url = images[key]["url"]
$("#image").html(vsprintf("<img src='%s'>", [image_url]));
key++;
setTimeOut(function() { next(); }, 30000);
问题是,如果我以另一种方式触发“下一个”功能(例如使用div onclick),setTimeOut回调函数仍然排队。所以我会“下一张”一张图片,但是当回调激发时,它会再次成为下一张图片。如果连续多次“下一次”,则会有大约30秒的延迟爆发,会跟着你。 (一旦所有的排队超时被触发)。
有没有办法过早地触发setTimeOut的回调?或者完全将其解除?
's/setTimeOut/setTimeout /' – 2012-04-08 17:11:54