私は非常に簡単なアニメーション機能を構築しようとしています。私は自分のプロジェクトをビルドするために、このチュートリアルを使用しています:アニメーション機能でsetTimeout()が機能していません。アニメーションが機能しない
https://www.youtube.com/watch?v=hUCT4b4wa-8
結果をボタンがクリックされた後に、左から右にページを横切って移動する緑色のボックスにする必要があります。ボタンをクリックすると、何も起こりませんし、コンソールエラーも表示されません。
は、ここに私のバイオリンです: https://jsfiddle.net/xkhpmrtu/7/
そして、ここに私のコードの抜粋です:
<!DOCTYPE html>
<head>
<meta charset="utf-8" />
<style type="text/css">
canvas {
border: 1px solid #666;
}
</style>
<script type="application/javascript" language="javascript">
function anim(x,y) {
var canvas = document.getElementById('canvas');//reference to canvas element on page
var ctx = canvas.getContext('2d');//establish a 2d context for the canvas element
ctx.save();//save canvas state if required (not required for the tutoriral anaimation, but doesn't hurt the script so it stays for now)
ctx.clearRect(0, 0, 550, 400);//clears the canvas for redrawing the scene.
ctx.fillStyle = "rgba(0,200,0,1)";//coloring the rectangle
ctx.fillRect = (x, 20, 50, 50);//drawing the rectangle
ctx.restore();//this restores the canvas to it's original state when we saved it on (at the time) line 18
x += 5; //increment the x position by some numeric value
var loopTimer = setTimeout('draw('+x+','+y+')', 2000);// setTimeout is a function that
</script>
</head>
<body>
<button onclick="animate(0,0)">Draw</button>
<canvas id="canvas" width="550" height="400"></canvas>
</body>
私が間違ってやっている任意のアイデア?
あなたは '関数anim'が宣言した'その間違った宣言が – prasanth
、あなたのクリックが 'animate'呼び出し、' jsのスクリプト 'アニメーション(0,0)にあなたの関数名を確認'' setTimeout'に古い(悪い練習)文字列引数を使って '' draw''を呼び出します... –
'ctx.fillRect'も関数ですが、'(x、20、50 、50) ' - 関数が呼び出される方法ではなく、' ctx.fillRect(x、20、50、50); ' - すべての修正が適用されるようにするには、https://jsfiddle.net/xkhpmrtu/9/ –