问题:
我正在为我的个人作品集网站创建一个画廊页面。我需要它在顶部有多个链接,用于我的艺术的不同类别。登陆网站后,将选择“全部”选项,并且我的艺术的所有缩略图都将显示并且完全不透明。单击链接时,只有属于链接对应类别的缩略图将保持 100% 不透明度,而其他缩略图将变暗为 50%。
我有我认为接近正确的代码,但仍然什么都不做。下面是我正在使用的代码。
(缩写)HTML:
<ul id="filterOptions">
<li class="active"><a href="#" class="all">All</a></li>
<li><a href="#" class="ty">Typography</a></li>
<li><a href="#" class="pr">Print</a></li>
</ul>
<ul class="ourHolder">
<li data-type="ty"><a href="img.jpg"><img src="img.png"/></a></li>
<li data-type="il"><a href="img.jpg"><img src="img.png"/></a></li>
<li data-type="pr"><a href="img.jpg"><img src="img.png"/></a></li>
CSS:
$(文档).ready(函数() { var $holder = $('ul.ourHolder'); var $data = $holder.clone(); $('#filterOptions li a').click( 功能(e){ // 重置所有按钮的活动类 $('#filterOptions li').removeClass('active'); // 分配被点击的过滤器选项的类 // 元素到我们的 $filterType 变量 var $filterType = $(this).attr('class'); $(this).parent().addClass('active'); if ($filterType == 'all') { // 将所有 li 项分配给 $filteredData var when // 单击“全部”过滤器选项 var $filteredData = $data.find('li'); $filteredData.animate({opacity: 1.0}, 500); } 别的 { var $filteredData = $data.find('li[data-type=' + $filterType + ']'); $filteredData.animate({opacity: 0.5}, 500); } }); });
非常感谢任何帮助,我需要启动我的新网站,而这段代码就是让我退缩的全部!