1

divの背景色を変更したい:

アローボックス

このために私はあなたがクリックできるdivsをしなければなりません。トリガーされた関数は、「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+""; ;

   }

SOmehowそれは機能しません!または、フィドル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 に答える