更改颜色代码不起作用

Kwa*_*ang 0 html javascript

function color(){
	var color = "#"
	for(var i = 0; i<6; i++){
		color += Math.floor((Math.random()*16)).toString(16);
	};
	document.getElementsByTagName('body')[0].style.backgroundColor = color;
}

function change(){
	setInterval(color(), 1000);
}
Run Code Online (Sandbox Code Playgroud)
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
<button id='button' onmouseover="change();" style='width:50px; height:50px; margin-left:auto;'>click</button>
<script type="text/javascript" src='js.js'></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

我试图自动更改背景编码.

我想每1秒更改一次背景颜色.但是当我把鼠标放在上面时,它只会改变颜色.

问题是什么?

ade*_*neo 6

您正在调用该函数,而不是在setInterval调用中引用它.

将其更改为

setInterval(color, 1000);
Run Code Online (Sandbox Code Playgroud)

小提琴

当您将括号添加到函数时,它将被调用,并且返回的结果将始终返回,undefined除非在被调用函数中定义了其他内容.

你做的和你一样

var fn = color(); // returns undefined

setInterval(fn, 1000); // undefined, 1000
Run Code Online (Sandbox Code Playgroud)