【发布时间】:2011-06-22 06:07:55
【问题描述】:
我正在使用由 Chris Coyier 编写的 Filtering Blocks 代码,但我想在每三个“块”元素中添加一个类“last”(以删除 margin-right)。 到目前为止,我有这个:
HTML
<div id="blocks-nav">
<a rel="all" class="current">All</a>
<a rel="www">Internet</a>
<a rel="ci">Logo</a>
</div>
<div id="blocks-gropup">
<div class="block all www">
<!-- some content -->
</div>
<div class="block all ci">
<!-- some content -->
</div>
<div class="block all www">
<!-- some content -->
</div>
<div class="block all ci">
<!-- some content -->
</div>
<div class="block all ci">
<!-- some content -->
</div>
<div class="block all www">
<!-- some content -->
</div>
</div>
jQuery:
$(function() {
var newSelection = "";
$("#blocks-nav a").click(function(){
$("#blocks-nav").fadeTo(200, 0.10);
$("#blocks-nav a").removeClass("current");
$(this).addClass("current");
newSelection = $(this).attr("rel");
$("div.block").not("."+newSelection).slideUp();
$("."+newSelection).slideDown();
$("#blocks-group").fadeTo(600, 1);
});
});
$("div#blocks-group > div:nth-child(3n)").addClass('last');
最后一行确实有效,并为每个第三个 div 添加了一个“last”类,但在过滤块之后,该类保持相同的 div,这在第三个位置不是必需的。 所以,我的问题是 - 如何合并这两个函数,以便在页面加载时将类添加到每三个 div,然后在过滤块后删除并再次添加。
任何帮助或帮助将不胜感激!
【问题讨论】:
标签: jquery