html:
<ul id="selector">
<li><a href="#" class="group1" rel="group1">group 1</a></li>
<li><a href="#" class="group2" rel="group2">group 2</a></li>
<li><a href="#" class="group3" rel="group3">group 3</a></li>
</ul>
<ul id="elements">
<li class="group1">1</li>
<li class="group1 group2">1 and 2</li>
<li class="group3">3</li>
<li class="group1 group3">1 and 3</li>
<li class="group2 group3">2 and 3</li>
<li class="group2">2</li>
</ul>
jQuery:
$('#selector a').click(function(event){
event.preventDefault();
var $this = $(this),
target = $this.attr('rel');
$('#selector a').removeClass('active');
$this.addClass('active');
$('#elements li').addClass('inactive');
$('#elements li.'+target).removeClass('inactive').addClass('active');
});
CSS:
#selector {margin: 10px 0; background: #eee; list-style: none; padding: 0px;}
#selector li {display: inline-block;}
#selector li a {display: block; margin: 0 4px; padding: 5px; background: #aaa;}
#selector li a.active {color: #fff;}
#elements {margin: 0px; padding: 0px; list-style: none; background: #eee;}
#elements li {display: inline-block; width: 100px; margin: 4px; text-align: center; background: #ccc; padding: 40px 0;}
#elements li.inactive {opacity: 0.2}
这段简单的代码显示了一个小界面,允许用户单击组选择器元素并突出显示属于该组的所有元素。单击其他组按钮时,选择会更改。我想从这一点开始,是能够使多个组选择器“活动”,同时突出显示属于单击的两个、三个或更多选择器元素的所有元素。
换句话说 - 有人点击 group1 选择器 - 具有该类的元素被突出显示。比有人点击 group2 - 并且只有属于这两个组的元素被突出显示。当有人“取消单击” group1 选择器时,只有具有 class2 的元素会被突出显示等。当没有单击任何组选择器时 - 所有元素都具有 100% 的不透明度。
谁能告诉我从哪里开始以及我应该如何从上面的代码开始?
http://jsfiddle.net/Cyberek/MeG6S/了解它现在如何工作的示例。