我正在尝试使用html5画布制作幻灯片,并发现这个this正在运行。
有人知道如何摆脱循环吗?
if (counter > maxNum) counter = 0;
代替counter = 0;我想离开这个循环,但我尝试过的所有东西都不起作用。 有人有想法吗?
答案 0 :(得分:1)
您是否尝试过break;
?
if (counter > maxNum) {
...
break;
}
修改:您可能还想尝试return
?
if (counter > maxNum) {
...
return;
}
答案 1 :(得分:0)
如果你看一下绘图代码,你就有了这个:
this._draw = function() {
//if the next image will cover the canvas
//there is no real need to clear the canvas first.
//I'll leave it here as you ask for this specifically
ctx.clearRect(0, 0, myCanvas.width, myCanvas.height)
ctx.drawImage(images[counter++], 0, 0);
if (counter > maxNum) counter = 0;
setTimeout(me._draw, 1000); //here we use me instead of this
}
问题是你没有循环,所以break
不起作用。
但您可以将if (counter > maxNum) counter = 0;
(这会重置计数器)替换为退出该函数的if (counter > maxNum) return;
,以便不会调用setTimeout
。