選択したタブを示すクラスを定義し、CSS を使用してハイライトを適用します (画像の表示/非表示、スプライトの背景位置の変更など)。それで:
$("#menu li").click(function (e) {
$("#menu li.selected").removeClass("selected");
$(this).addClass("selected");
});
編集: CSS を使用してハイライトを適用するように既存のコードを調整するには、各メニュー項目が 2 つの画像を持つように html を変更します。
<ul id="menu">
<li>
<img class="off" src="menu1-original-icon.png" />
<img class="on" src="menu1-lit-up-icon.png" />
</li>
<li>
<img class="off" src="menu2-original-icon.png" />
<img class="on" src="menu2-lit-up-icon.png" />
</li>
...
</ul>
次に、CSS を使用して一方を非表示にし、他方を表示します。
#menu .on, #menu .selected .off
{
display: none;
}
#menu .selected .on
{
display: inline;
}
ここにデモがあります:jsfiddle.net/PLRfJ
何も選択しないようにするには (選択したものをクリックして選択を解除します)、.toggleClass()
代わりに使用して、クラスを削除するときに.addClass()
除外します。this
$("#menu li").click(function (e) {
$("#menu li.selected").not(this).removeClass("selected");
$(this).toggleClass("selected");
});
jsfiddle.net/PLRfJ/1