1

我想更改 div 的背景颜色:

箭头框

为此,我必须 div 到您可以单击的位置。触发函数保存“farbe”键的本地存储值。

<div class="radior" style="background-color:#8066CC;"    onClick='localStorage.setItem("farbe","#8066CC");hey()'></div> 

所以在那之后,会询问键“farbe”的值。除此之外,这是一个案例......我认为你最好阅读我的代码,因为我认为我需要一些英语课程对不起!

function hey(){
switch (localStorage.getItem("farbe")){
case "#121212":
var h = "black"

case "#1bc38e":
var h = "turk"

case "#C3594B":
var h = "red"

case "#8066CC":
var h = "lila"
    }
document.getElementsByClassName("arrow_box")[0].style.backgroundColor=""+h+""; ;

   }

不知怎的,它不起作用!或者您在小提琴http://jsfiddle.net/PpsLH/4/上观看我的问题示例!来自德国的问候!

4

3 回答 3

1

尝试这个

<div  class="arrow_box"><a>Arrow Box</a></div>


<div class="radior" style="background-color:#C3594B;" onClick="localStorage.setItem('farbe','#C3594B');window.hey()"></div>
<br>
<div class="radior" style="background-color:#8066CC;" onclick='localStorage.setItem("farbe","#8066CC");window.hey()'></div>

对于 javascript

window.hey = function ()
{
    var h="";
    if (localStorage.getItem("farbe")=="#121212")
    {
        var h = "black";
    } else
    if (localStorage.getItem("farbe")=="#1bc38e")
    {
        var h = "turk";
    } else
    if (localStorage.getItem("farbe")=="#C3594B")
    {
        var h = "red";
    } else
    if (localStorage.getItem("farbe")=="#8066CC")
    {
        var h = "lila";
    }
    document.getElementsByClassName("arrow_box")[0].style.backgroundColor=h+"";
}
于 2013-02-20T17:56:18.907 回答
1

将您的功能更改为:

hey = function(){
  switch (localStorage.getItem("farbe")){
    case "#121212":
    var h = "black";
    break ;

    case "#1bc38e":
    var h = "turk";
    break ;

    case "#C3594B":
    var h = "red";
    break ;

    case "#8066CC":
    var h = "lila";
    break ;
  }
    document.getElementsByClassName("arrow_box")[0].style.backgroundColor=h;
}

顺便说一句,lila它不是有效的 HTML 颜色,所以它不起作用。

于 2013-02-20T17:45:55.693 回答
1

您应该从代码中删除所有内联事件处理程序。此外,整个开关部分和更改为命名的 CSS 颜色似乎是多余的。查看这段用 jQuery 编写的代码

var box = $('div.arrow_box');

$('body').on('click','div.radior',function(e){
    var color = $(e.target).css('backgroundColor');    
    localStorage.setItem('farbe',color);
    box.css('backgroundColor',color);
});

和一个工作小提琴http://jsfiddle.net/chrisdanek/BaJvC/5/

于 2013-02-20T17:54:18.387 回答