好的,我在玩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