好的,我在玩javascript。我想创建一个带有“更换背景”按钮的网页,该按钮在不同颜色之间循环。所以我这样写了(脚本标签从视图开始)在其功能之外使用变量'i'
var bgcolors = ["pink", "beige", "wheat", "white", "brown"];
var i = 0;
function cyclebg(){
document.body.style.backgroundColor = bgcolors[i];
i++;
if (i > (bgcolors.length - 1))
{
i = 0;
}
}
//other ideas:
//-say color next to button
</script>
<br>
<br>
<button type="button" style="background-color:red; border-color: red;" OnClick="cyclebg()">Change Background Color</button>
工作得很好。然后我决定做一个版本,并在按钮旁边显示颜色的名称。所以我补充说...
<script>document.write(bgcolors[i]);
</script>
然而,总是写“粉红色”。看起来这个“document.write”脚本只能读取“我”在功能之外的内容。为什么是这样? javaSCRIPT中的所有变量都不是全局变量吗?我怎样才能让它读取函数中的“我”,所以它显示了在背景中使用的颜色的名称?
'javaSCRIPT中的所有变量都不是全局变量吗?'对此的回答是否定的,范围在JS中是非常真实的。 –
此外,document.write会在解析该行时立即运行(并且只会执行一次),并且该功能不会运行,直到您单击按钮为止。 – Marie
'document.write' ...'恐怖'! – Hackerman