2017-12-18 21 views
-5

これが壊れている理由さて、私はコードの間隔を設定しようとしましたが、それは唯一のonceL私は助けが必要です誰かがなぜ私のsetintervalがgoofyを演じているのか説明してもらえますか?

function moveAllTriangles(){ 
    var spike = document.getElementById("spike"); 
    var mg = setInterval(function(){moveTriangle();},1125); 
    function moveTriangle(){ 
     var moved = 100; 
     spike.style.left = (750 - moved) + 'px'; 
     moved++; 
    } 
} 

を動かし説明してくださいありがとうございました。

+1

'破損'を定義します。現時点で何が起こっているのか、そして現在起こっていないことが起こっているはずですか? –

+5

毎回変数を100に戻すためです。 – JJJ

+0

こんにちは! [ツアー]と[質問]をお読みください。 – msanford

答えて

2

あなたには、いくつかの問題を抱えているように見えるので、これはより明確にする:あなたはそれを実行するたびに、それが戻ってあなたはそれを初期化する必要が100

に設定されます、あなたの間隔内movedを再定義外側の間隔。

function moveAllTriangles(){ 
    var spike = document.getElementById("spike"); 
    var moved = 100; 

    function moveTriangle(){ 
     spike.style.left = (750 - moved) + 'px'; 
     moved++; 
    } 

    var mg = setInterval(moveTriangle, 1125); 
} 

また、setInterval()は、関数名または閉鎖を取り、あなたははちょうどあなたがすでに定義した関数の名前を渡し、クロージャを使用するは必要ありません。

関連する問題