我試圖創建一個函式,將背景顏色更改為輸入的顏色。該功能似乎有效,但僅變為黃色。它使我相信 if else 陳述句有問題,但我無法弄清楚。
var colore = document.getElementById("colors");
function changecolor() {
if (colore = "yellow"){
document.body.style.backgroundColor = "yellow";
}else if (colore = "blue"){
document.body.style.backgroundColor = "blue";
}else if (colore = "green"){
document.body.style.backgroundColor = "green";
}else if (colore = "black"){
document.body.style.backgroundColor = "black";
}else {document.getElementById("error").innerHTML =
"Enter a Valid Color";}
}
uj5u.com熱心網友回復:
您的代碼有一些我已修復的錯誤,詳細資訊如下
- 要獲得價值,您
input需要訪問.valuedocument.getElementById("colors").value - 您需要一直獲取函式內部文本框的值
- 你需要
===在你的條件下使用來比較。Single=是一個賦值運算子,您的代碼每次都只是分配黃色。另請閱讀JavaScript 比較中應該使用哪個等號運算子(== vs ===)?
下面的作業代碼
function changecolor() {
var colore = document.getElementById("colors").value;
document.getElementById("error").innerHTML=""; // remove existing error
if (colore === "yellow") {
document.body.style.backgroundColor = "yellow";
} else if (colore === "blue") {
document.body.style.backgroundColor = "blue";
} else if (colore === "green") {
document.body.style.backgroundColor = "green";
} else if (colore === "black") {
document.body.style.backgroundColor = "black";
} else {
document.getElementById("error").innerHTML =
"Enter a Valid Color";
}
}
<input id="colors" type="text" />
<button onClick="changecolor()">Change</button>
<p id="error"></p>
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/444583.html
標籤:javascript if 语句
下一篇:ifelse回圈的問題
