У меня есть список ПР:Jquery к поставьте отметку элементов в списке
<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, которые не отмечены, являются fadedOut (изменение непрозрачности), а затем любые строки, которые имеют класс, соответствующий значению флажка, являются яркими (цвет фона изменен на желтый).
Так, например, если была нажата группа 3, будут выделены пункты 4 и 6. Затем, если нажата группа 2, элемент 3 будет выделен (элементы 4 и 6 будут выделены). Если группа 2 не была отмечена галочкой, пункт 3 исчезнет, хотя элементы 4 и 6 будут выделены.
код у меня есть на данный момент:
$('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), но не уверен, как справиться с этим в коде и куда его поместить.
Если какой-либо из моего другого кода может быть убрано также, пожалуйста, дайте мне знать
Благодаря
Каков наилучший способ установить непрозрачность обратно на 1 для всех элементов, если ни один из отметок не отмечен? – John
Я обновил код с помощью этого сценария – artlung
Спасибо, работы GREAT! – John