HTML5 Canvas幻灯片

时间:2013-06-06 20:04:37

标签: javascript html5 canvas

我正在尝试使用html5画布制作幻灯片,并发现这个this正在运行。

有人知道如何摆脱循环吗?

  if (counter > maxNum) counter = 0;

代替counter = 0;我想离开这个循环,但我尝试过的所有东西都不起作用。 有人有想法吗?

2 个答案:

答案 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