2016-02-08 52 views
0

此代碼如此快地改變矩形的顏色。我怎樣才能改變它,使顏色每5秒就會改變一次?如何在js中每5秒更改矩形的顏色

var bgcolorlist=new Array("#DFDFFF", "#FFFFBF", "#80FF80", "#EAEAFF", "#C9FFA8", "#F7F7F7", "#FFFFFF", "#DDDD00") 
POP.Draw.rect(0, 0, POP.WIDTH, POP.HEIGHT, bgcolorlist[Math.floor(Math.random()*bgcolorlist.length)]); 
+0

代碼從哪裏調用? (顯示的代碼只會改變顏色一次,當你談論它改變「快速」時,這不是你所說的。) – nnnnnn

+0

我猜測代碼是從持續更新函數中調用的。 –

回答

0
Please try this 

var bgcolorlist=new Array("#DFDFFF", "#FFFFBF", "#80FF80", "#EAEAFF","#C9FFA8", "#F7F7F7", "#FFFFFF",  "#DDDD00") 
function draw(){ 
var canvas = document.getElementById('a'); 
var context = canvas.getContext('2d'); 
context.beginPath(); 
context.rect(20,20, 100, 100); 
context.fillStyle =bgcolorlist[Math.floor(Math.random()*bgcolorlist.length)]; 
context.fill(); 
context.lineWidth = 7; 
} 
draw(); 
setInterval(function(){ 
draw(); 
},5000); 
+0

它只會變成白色 – Fury

+0

https://jsfiddle.net/aswindevps/m4p3a0qo/4/請看這個 –

0

的setInterval(函數(){ object.style.backgroundColor = bgcolorlist [Math.floor(的Math.random()* bgcolorlist.length)];} ,5000);