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秒更改一次背景颜色.但是当我把鼠标放在上面时,它只会改变颜色.
问题是什么?
您正在调用该函数,而不是在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)
| 归档时间: |
|
| 查看次数: |
65 次 |
| 最近记录: |