这是我用的js:
var bgcolor = '#'+(Math.random()*0xFFFFFF<<0).toString(16);
function changeBackground() {
document.body.style.background = bgcolor;
}
按钮的HTML:
<button onclick="changeBackground();">
该功能有效,但是,它只能工作一次,然后在刷新页面之前不再工作。我是js的新手,有什么我可能会错过或做错吗?谢谢。
答案 0 :(得分:2)
请你试试这个
JS
function changeBackground() {
var bgcolor = '#'+(Math.random()*0xFFFFFF<<0).toString(16);
document.body.style.background = bgcolor;
}
HTML
<button onclick="changeBackground();">
答案 1 :(得分:1)
您正在设置bgcolor
变量一次,之后它永远不会改变。移动changeBackground
功能中的设置,它应该有效。
function changeBackground() {
var bgcolor = '#'+(Math.random()*0xFFFFFF<<0).toString(16);
document.body.style.background = bgcolor;
}
答案 2 :(得分:1)
您只在函数外部为bgcolor指定一个数字。尝试在函数本身中调用该行代码,如下所示:
function changeBackground() {
document.body.style.background = bgcolor;
var bgcolor = '#'+(Math.random()*0xFFFFFF<<0).toString(16);
}
答案 3 :(得分:1)
bgcolor在全局范围内,并在页面开始时计算一次。在changeBackground函数体内插入bgcolor var,以便重新计算其值。