そのため、クライアントのアクセシビリティを目的として、バックグラウンド チェンジャーを設定しています。必要な背景色の div のセットと、クリック時にボディの背景を変更する jQuery があります。
私が望むのは、クリックした要素がクリック時に白に変わることです(つまり、リセットオプション)。
しかし、私が持っているコードでは、別のものをクリックすると、他のものをリセットせずに白くなり、白いdivがたくさんできてしまいます。
ここに私のコードがあります:
<div class="bg_changer">
<ul><li class="bg_1 bg_setter"><a >bg_one</a></li>
<li class="bg_2 bg_setter" ><a >bg_two</a></li>
<li class="bg_3 bg_setter"><a >bg_three</a></li>
<li class="bg_4 bg_setter"><a >bg_four</a></li>
<li class="bg_5 bg_setter"><a >bg_five</a></li>
<li class="bg_6 bg_setter"><a >bg_six</a></li>
</ul>
</div><!-- end of bg_changer -->
CSS
.bg_1{
background-color: rgba(204,204,204,1);
}
.bg_2{
background-color: rgba(254,254,196,1);
}
.bg_3{
background-color: rgba(253,190,130,1);
}
.bg_4{
background-color: rgba(253,253,128,1);
}
.bg_5{
background-color: rgba(158,208,253,1);
}
.bg_6{
background-color: rgba(218,218,254,1);
}
とjQ
$(document).ready(function(){
$(".bg_setter").click(function() {
var bg_new = $(this).css('background-color');
$("body").css('background-color', bg_new);
$(this).css('background-color', 'white');
});
});
この変更を実装する方法についてアイデアを持っている人はいますか? bg_one を切り替えてから bg_two を切り替えると、bg_one を元の背景色にリセットできますか?
大量の変数を保存せずにこれを行う方法は考えられません。確かにもっと簡単なものがあるはずです...