我有一个JavaScript函数
<script language="javascript">
function toggle_color(color1, color2, cycle_time, wait_time) {
setInterval(function first_color() {
document.body.style.backgroundColor = color1;
setTimeout(change_color, wait_time);
}, cycle_time);
function change_color() {
document.body.style.backgroundColor = color2;
}
}
</script>
我正在身体上称呼它
<body onload="toggle_color("#61beb3", "#90a2c6", 4000, 2000);">
Lorem Ipsum Dolar.
</body>
但是什么也没发生。身体的背景是一段时间。任何想法可能在哪里错误?我所知道的是该脚本是真实的,并且100%有效。
最佳答案
onload="toggle_color("
^ ^
看到属性值的开头吗?看到属性值的结尾吗?
要将
"
用作由"
字符分隔的HTML属性值中的数据,您需要将其表示为字符引用:"
。或者,使用
'
字符分隔JS字符串或分隔属性值。更好的是,完全避免内在事件属性。除了使报价变得痛苦之外,他们还有all kinds of gotchas的麻烦。
而是将事件处理程序与JavaScript绑定。
function setDefaultColour() {
toggle_color("#61beb3", "#90a2c6", 4000, 2000);
}
addEventListener("load", setDefaultColour)