【发布时间】:2017-11-23 21:38:10
【问题描述】:
我正在尝试使用下拉菜单中提供的选项更改正文颜色并保存这些更改,以便当用户刷新页面时,背景颜色将等于他们设置的颜色。但是,我在根据下拉菜单选项更改背景颜色时遇到问题。
HTML
<button class="btn-secondmenu">Button</button>
<select name="colors" id="colors">
<option value="red">Red</option>
<option value="green" selected="selected">Green</option>
<option value="yellow">Yellow</option>
<option value="black">Black</option>
</select>
JS
$(function(){
var select = document.getElementById("colors");
select.onchange = function(){
var selectedColor = select.options[select.selectedIndex].value;
alert(selectedString);
}
if (localStorage.getItem('background') !== null) {
getColour = localStorage.background;
$('.bdy').css('background', getColour);
} else {
getColour = 'green';
}
$('.btn-secondmenu').click(function(){
if(getColour == 'blue'){
localStorage.removeItem('background');
$('.bdy').css('background', 'red');
localStorage.setItem('background', 'red');
} else {
getColour = 'blue';
localStorage.removeItem('background');
$('.bdy').css('background', 'blue');
localStorage.setItem('background', 'blue');
}
});
});
任何建议将不胜感激,谢谢!
【问题讨论】:
-
有一个名为
getColour的变量很奇怪。这通常应该保留给 getter 函数,然后返回一个值。
标签: javascript jquery html css local-storage