我是一名JavaScript新手。我有以下代码,它表现得非常奇怪。 假设要做的事情是将背景颜色设置为红色,然后在清除警报对话框后循环显示一系列背景颜色。颜色名称当前是字符串格式,但如果我使用十六进制ID,则会产生相同的行为。
通常,当页面加载时,它会开始按照预期的颜色对身体进行着色。第一个警报清除有时会将背景更改为橙色,有时不会,然后没有更改,因为下一个对话(黄色,绿色,蓝色,靛蓝,黑色)被清除,直到最后一次颜色更改,有时需要,有时不会。
<html>
<head>
<title>Color Flasher</title>
</head>
<body>
<script type="text/javascript">
function color1() {
document.body.style.backgroundColor = 'red';
}
function color2() {
document.body.style.backgroundColor = 'orange';
}
function color3() {
document.body.style.backgroundColor = 'yellow';
}
function color4() {
document.body.style.backgroundColor = 'green';
}
function color5() {
document.body.style.backgroundColor = 'blue';
}
function color6() {
document.body.style.backgroundColor = 'indigo';
}
function color7() {
document.body.style.backgroundColor = 'black';
}
function color8() {
document.body.style.backgroundColor = 'violet';
}
color1();
alert("ready for another color? - orange");
color2();
alert("ready for another color? - yellow");
color3();
alert("ready for another color? - green");
color4();
alert("ready for another color? - blue");
color5();
alert("ready for another color? - indigo");
color6();
alert("ready for another color? - black");
color7();
alert("ready for another color? - violet");
color8();
</script>
<center>
<h1>Color Flasher<br></h1>
</center>
<hr>
</body>
</html>
有人可以解释我的语法错误吗?
答案 0 :(得分:0)
您应该尝试将<script>
放在<head>
中,或者如果您真的想要将您的脚本放在正文标记中,则应该放在结束</body>
标记之前。
仅供参考,我的工作正常。在JSFiddle上测试,它们会自动将<script>
放在body标签中。