私はolリストを持っています:
<ol>
<li class="group1">item 1</li>
<li class="group1">item 2</li>
<li class="group2"> item 3</li>
<li class="group3">item 4</li>
<li class="group1">item 5</li>
<li class="group3"> item 6</li>
<ol>
クラス名に対応するチェックボックスのセット
<input type="checkbox" value="group1" />group 1
<input type="checkbox" value="group2" />group 2
<input type="checkbox" value="group3" />group 3
私がしたいのは、ユーザーがチェックボックスをクリックして「チェック」すると、チェックされていないli行がフェードアウト(不透明度を変更)され、チェックボックスの値に一致するクラスを持つ行が蛍光ペンになることです。 (背景色が黄色に変わりました)。
したがって、たとえば、グループ3がクリックされた場合、アイテム4とアイテム6が強調表示されます。次に、グループ2をクリックすると、アイテム3が強調表示されます(アイテム4と6は強調表示されたままになります)。グループ2にチェックマークが付いていない場合、アイテム4と6は強調表示されたままですが、アイテム3はフェードアウトします。
私が現在持っているコードは次のとおりです。
$('input').click(function(){
input = $(this);
classVal = "." + input.val();
elements = $(classVal );
if (input.is(':checked')) {
elements.css("background-color", "#FFFF00");
} else {
elements.css("background-color", "");
}
});
これはハイライトを処理しますが、チェックされていない要素のフェードは行いません。css( "opacity"、0.33)またはfadeTo( "slow"、0.33)を使用して不透明度を変更できることは知っていますが、コードでこれを処理する方法と配置する場所がわかりません。
私の他のコードのいずれかを片付けることができる場合も私に知らせてください
ありがとう