这是我在 Chrome (localhost...) 下运行的一个简单的 JavaScript 文件。发生的情况是将 DIV 背景颜色设置为绿色,然后设置为红色,而只是将其设置为红色。第一个 setTimeout 似乎被忽略了。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Set TimeOuts</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script language="javascript">
function setBGColor()
{
var div1 = document.getElementById("div1");
setTimeout(setColor('yellow'),6000);
setTimeout(setColor('red'),6000);
}
function setColor(color)
{
div1.style.backgroundColor=color;
}
</script>
</head>
<body>
<div id="div1" onclick="setBGColor()";>THIS IS THE COLOR TEST</div>
</body>
</html>
但是,如果我在 setColor 函数中放置一个警报(颜色),我可以看到 div bgcolor 首先变黄。此外,6000 也被忽略。为什么?