html 就是一個 canvas 標簽,下面是 js 進行繪圖,目標是每 2 秒畫出一個同心圓,畫 20 次,但是現在等待 2 秒后,全部同心圓將一同出現,我不太明白這應該怎么解決,我也查了閉包,也如下試了,還是不行,可能是我理解閉包不到位,希望有人可以修改一下代碼,順便解釋一下我這樣不行的原因var canvas = document.getElementById("canvas"); canvas.width = 1024; canvas.height = 768;var context = canvas.getContext('2d');//循環畫同心圓for (i = 0; i < 200; i += 10) { (function(j) { var repeat = "drawCircle(" + j + ")"; console.log(j); setTimeout(repeat, 2000); })(i)}//畫圓函數function drawCircle(r) { context.beginPath(); context.lineWidth = 5; context.arc(300, 300, r, 0, 2 * Math.PI, false); context.stroke();}
js, for 循環,每隔幾秒畫一個大一點的同心圓不成功?
慕妹3242003
2019-02-28 21:19:01