4
回答
我有一个问题,想要隔一段时间让div换颜色?这该怎么写比较好
终于搞明白,存储TCO原来是这样算的>>>   
我有一个问题,想要隔一段时间让div换颜色?假设有3个div然后按照顺序div1过几秒钟,换到显示div2,再换到div3,颜色分别不同~请问有js高手~知道怎么做吗?
举报
ericrock
发帖于2年前 4回/257阅
共有4个答案 最后回答: 2年前

随手写的,不知道你说的随机颜色是不是这样 你试试

<html>
<head>
	<style type="text/css">
	div{ border: 1px solid #999; width: 100px; height: 50px; margin-top: 10px; }
	</style>
	
	<script >
		window.onload = function(){
			var div = document.getElementsByTagName('div');
			var i = 0;
			var bgColor = ['#ff0000', '#00ff00', '#0000ff'];
			setInterval(function(){
				var random = Math.ceil(Math.random()*10)%(bgColor.length);
				for( var e = 0; e < div.length; e++){
					div[e].style.backgroundColor = '#ffffff';
				}
				div[i].style.backgroundColor = bgColor[random];
				i++;
				if( i >= 3 ) i = 0;
			}, 1000);
		};
	</script>
</head>
<body>
	<div ></div>
	<div ></div>
	<div ></div>
</body>
</html>



--- 共有 1 条评论 ---
ericrock噢~原来是这样写~感谢你!可以用~ 2年前 回复

改了下楼上的

<html>
<head>
    <style type="text/css">
    div{ border: 1px solid #999; width: 100px; height: 50px; margin-top: 10px; }
    </style>
     
    <script >
	    function randomColor() {
	    	var str = "0123456789abcdef"; 
			var t = "#"; 
			for(j=0;j<6;j++){
				t = t+ str.charAt(Math.random()*str.length);
			}
	    	return t;
	    }
        window.onload = function(){
            var div = document.getElementsByTagName('div');
            var i = 0;
            setInterval(function(){
                for( var e = 0; e < div.length; e++){
                    div[e].style.backgroundColor = '#ffffff';
                }
                div[i].style.backgroundColor = randomColor();
                i++;
                if( i >= 3 ) i = 0;
            }, 1000);
        };
        
    </script>
</head>
<body>
    <div ></div>
    <div ></div>
    <div ></div>
</body>
</html>



var index = 1; setInterval(function(){ var d = document.getElementById("div" + index); d.style.backgroundColor = getRandomColor(); index++; if (index > 3) { index = 1; } }, 1000); function getRandomColor() { return …; }
顶部