【发布时间】:2016-06-05 13:11:06
【问题描述】:
我想创建一个包含三个选项的下拉菜单,用于更改 nav 的颜色并将其保存在本地存储中,当您更新页面时,您选择的颜色仍然存在。
我想在 Javascript 中执行此操作,而不需要 jQuery 的任何帮助。
这是我的 HTML:
<nav id="box">
<select>
<option value="grey" id="grey">Grey</option>
<option value="black" id="black">Black</option>
<option value="green" id="green">Green</option>
</select>
</nav>
这是我的 CSS:
#box {
height:50px;
padding: 5px;
margin:0 auto;
font-size:25px;
text-align: center;
}
.grey {
background-color: rgba(0, 0, 0, 0.5);
border-color: #FFF;
}
.black {
background-color: rgba(0, 0, 0, 0.9);
color: #FFF;
}
.green {
background-color: rgba(33.3, 46.7, 7.8);
border-color: #000;
}
这是我的 JS:
function setUp() {
document.getElementById("grey").onclick = setSuccessStyle;
document.getElementById("black").onclick = setErrorStyle;
document.getElementById("green").onclick = setInfoStyle;
}
function setSuccessStyle() {
var messageBox = document.getElementById("box");
messageBox.className = "grey";
}
function setErrorStyle() {
var messageBox = document.getElementById("box");
messageBox.className = "black";
}
function setInfoStyle() {
var messageBox = document.getElementById("box");
messageBox.className = "green";
}
我知道我不应该将 onclick 作为“动作”,但我不知道如何解决这个问题。
【问题讨论】:
-
实际上,对于初学者来说,您并不想使用
onclick。在这种情况下,更好的监听事件是change事件,即onchange。此外,您需要将该侦听器附加到select并在触发时检查this.value以查看选择的颜色。
标签: javascript html css drop-down-menu local-storage