2017-10-16 6 views
0

私はJavaScriptの初心者ですので、気をつけてください。カウント関数の実行

私はオブジェクトが呼び出されるたびにオブジェクトの色を変更する関数を記述しようとしています。

var i = 0; 
    var colors=["blue","red","green","yellow","lime"]; 
    function changeColor(a, colors) { 
     if (i==4) { 
      i=0; 
     } 
     a.style.color=colors[i]; 
     i++; 
     } 

、それが呼ばれていますアレイ(色)、繰り返し処理できるように、私はカウンターが必要になります。ここでは

コードがあります。 したがって、グローバルに宣言された変数を更新するには、からchangeColor関数を使用します。前もって感謝します!

+2

elseステートメントを使用することができ、インデックス4インデックス0"blue""lime"に到達すること。 – Teemu

答えて

0

コードは正常に動作するはずです。私は@ guest271314私は変更して、以下に示唆したように、私は1が5

var i = 0; 
var colors=["blue","red","green","yellow","lime"]; 
function changeColor(a, colors) { 
    i = (i +1)%colors.length; 
    a.style.color=colors[i]; 
} 

あるとき(私は+1)%5それは0を返します= Iを使用して0から4まで私を反復処理する短い方法を示唆していますcolor.lengthをnumberに設定すると、colors配列のサイズに柔軟性を持たせることができます。

+1

_ "あなたのコードは正常に動作するはずです。私は0から3までを反復するより短い方法を提案しています" _質問のコードの '.length'配列は' 5'です。 – guest271314

0

あなたがif条件の前color値を設定して、あなたはすでにそれを行っている正確にどのように

var i = 0; 
 
var colors = ["blue", "red", "green", "yellow", "lime"]; 
 

 
function changeColor(colors) { 
 
    document.body.style.color = colors[i]; 
 
    if (i == 4) { 
 
    i = 0; 
 
    } else { 
 
    i++; 
 
    } 
 
} 
 

 
setInterval(function() { 
 
    document.body.textContent = i; 
 
    changeColor(colors); 
 
}, 1500)
body { 
 
    width: 100vw; 
 
    height: 100vh; 
 
    font-weight: 36px; 
 
}

関連する問題