我有一个 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
<body onload="toggle_color("#61beb3", "#90a2c6", 4000, 2000);">
Lorem Ipsum Dolar.
</body>
但是什么也没发生。 body 的背景是while。有什么想法可能会出现错误吗?我所知道的是该脚本是真实的并且 100% 有效。
最佳答案
onload="toggle_color(" ^ ^
看到属性值的开头了吗?看到属性值的末尾了吗?
要使用 "
作为由 "
字符分隔的 HTML 属性值中的数据,您需要将其表示为字符引用:"
.
或者,使用 '
字符来分隔 JS 字符串或分隔属性值。
更好的是,完全避免内在事件属性。他们有all kinds of gotchas除了让处理报价变得很痛苦之外。
改为使用 JavaScript 绑定(bind)您的事件处理程序。
function setDefaultColour() {
toggle_color("#61beb3", "#90a2c6", 4000, 2000);
}
addEventListener("load", setDefaultColour)
关于Javascript 函数在 body onload 上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33435298/