2017-10-16 65 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++; 
     } 

我需要一個計數器,以便它可以通過陣列(顏色),迭代時,它的調用。 那麼,如何更新全局聲明的變量ichangeColor函數。提前致謝!

+2

你究竟如何已經完成它。 – Teemu

回答

0

你的代碼應該可以正常工作。我建議一個較短的方式,使用I =(I 1)%5將返回0,當我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]; 
} 

從0迭代i到4如@ guest271314以下建議,我改變數字設置爲colors.length,以使其對顏色數組的大小更加靈活。

+1

_「你的代碼應該可以正常工作,我提出了一個更短的方法來迭代我從0到3」_注意,在Question的代碼中數組'.length'是'5' – guest271314

0

要在指數4達到"lime"然後"blue"索引0可以前if條件中設定的color值和使用else聲明

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; 
 
}