1
colors = new Array("red","orange","blue","purple","yellow","brown","green","grey")
var colorIndex = 0;
function changeColor(){
document.body.bgColor=colors[colorIndex]
colorIndex = (colorIndex+1)%8)
}
function startColorChange(){
setInterval("changeColor()",1000)
}
window.onload = startColorChange
console.log(colors.length);
其關於每1秒反覆更改文檔背景顏色的代碼。 每次變量colorIndex都會增加,並通過更改不同的顏色來顯示輸出。但問題iscolorIndex =(colorIndex + 1)%8。第一次它的值是0,所以紅色將被顯示,但是在下一輪中它的意志值將變成0.125,那麼橙色可以如何顯示,甚至它的索引顯然是1而不是0.125,類似地,每次索引沒有從0增加到1, 2,3,4,5 ......那麼顏色分別是如何變化的。javascript反覆更改文檔背景顏色
colorIndex = (colorIndex+1)%8)
// ^^^
下建議有一個更清潔的代碼:如果您刪除最後parentesis
爲什麼'parseInt'?無論如何,你正在使用整數。 –
['var colors = [「red」,「orange」,「blue」,「purple」,「yellow」,「brown」,「green」,「gray」], colorIndex = 0; (函數(){ document.body.bgColor = colors [++ colorIndex%colors.length]; },1000);'](https://jsfiddle.net/tusharj/n400pfxh/1) – Tushar
試着仔細閱讀什麼'%'運算符http://www.w3schools.com/js/js_arithmetic.asp它不是簡單的分區 – MysterX