Javascript 本地存储以更改背景颜色

Javascript 本地存储以更改背景颜色,javascript,local-storage,Javascript,Local Storage,我正在尝试用本地存储更改我网站的背景颜色。我在HTML中为colors()函数使用onchange(),其余的是下面的JavaScript var bgcolour; window.onload = function theme(){ document.body.style.backgroundColor = "red"; localStorage.setItem("bgcolour", 1); } function colours(){ localStorage

我正在尝试用本地存储更改我网站的背景颜色。我在HTML中为
colors()
函数使用
onchange()
,其余的是下面的JavaScript

var bgcolour;

window.onload = function theme(){

    document.body.style.backgroundColor = "red";
    localStorage.setItem("bgcolour", 1);
}


function colours(){
    localStorage.bgcolour = document.getElementById("party").value;

    if (localStorage.bgcolour == '1'){
        document.body.style.backgroundColor = "red";
    }
}
它什么也不做。它甚至不会改变,更不用说将其存储为本地存储了

我一直在丢失代码中重要的、很小的部分,感觉我又用这个做了一次

非常感谢您的帮助

HTML:


1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15(最高)

您似乎在从本地存储设置和获取值时遇到了一些问题。下面是如何做到的

//贮藏

localStorage.setItem(“lastname”、“Smith”)

//取回


document.getElementById(“结果”).innerHTML=localStorage.getItem(“lastname”)

我认为您的HTML有问题。我复制粘贴了您所有的javascript,我假设您的HTML是这样的:

<input type="text" id="party" onchange="colours()" />


您会注意到背景最初是灰色的,然后在文本框中输入值“1”将使背景变为红色

代码错误,您未正确设置和检查本地存储值。此外,还需要从id为party的节点获取值

var-bgcolour;
window.onload=函数主题(){
document.body.style.backgroundColor=“红色”;
localStorage.setItem(“bgcolour”,1);
}
var party=document.getElementById('party')
函数颜色(){
localStorage.setItem('bgcolor',party.value);
if(localStorage.getItem('bgcolour')=='1'){
document.body.style.backgroundColor=“红色”;
}
否则{
document.body.style.backgroundColor=“绿色”;
}
}

1.
2.
3.
4.
5.
6.
7.
8.
9
10
11
12
13
14
15(最高)

这并没有真正的帮助。我在W3上看到了这一点,它与获取和更改背景颜色值无关,也没有解释我应该如何实现它。我不太明白您在这里想要实现什么。是否要将背景颜色设置为红色并在事件发生时更改。请详细说明您的需要。我想更改网站的背景颜色,并使用localstorage,使背景颜色保持不变。保持不变或更改为其他颜色?在我单击另一页或刷新当前页面时保持不变。你可以发布你的HTML吗?我的HTML与此完全相同,不起作用。编辑我撒谎。这里是查看更新的plunk,我将其更改为选择下拉列表。请注意,本地存储在plnkr上有点奇怪,所以您必须在您的平台上尝试。谢谢。我要试一试!我收回我对plnkr具有奇怪的本地存储的评论。请参阅更新的plunk:pageloadHuh时,您必须根据本地存储来检查和更改背景颜色?这并不意味着任何老师甚至不能让它跨多个页面工作,这段代码有点让我不知所措,但无论如何谢谢你!然而,我知道,如果不这样做,我不相信你将能够实现你开始做的事情。让我知道,如果你想澄清或额外的帮助其他人(这是为类)已经实现了相当简单的代码,我的看起来类似,但我显然错过了一些东西。太令人沮丧了。至少,我需要能够在不使用事件侦听器的情况下执行此操作。您的代码是错误的,您没有在函数上正确设置localStorage,这就是我在这里的原因:)。你能告诉我如何正确设置它吗?
<input type="text" id="party" onchange="colours()" />