将各种“rel”属性添加到fancybox画廊
我有一个包含4个fancybox(v.2)画廊的页面,当我点击第一个画廊时,他绕过页面上的所有画廊,这很糟糕。 所以我想给每个画廊一个不同的“rel”属性(rel =“gallery1”,rel =“gallery2”,rel =“gallery3”……)。 所以我需要数这些画廊并给他们数字。 我的代码:
$(document).ready(function() { $(".fancybox") .attr('rel', 'gallery') .fancybox({ openEffect : 'none', closeEffect : 'none', padding : 0, loop : false });
});
假设每个图库都在
例如:
您只需使用.each( function(index, element) )
循环遍历.post
元素。 使用每个.post
索引来构建库标识符,并在选择.fancybox
元素时将每个.post
元素用作jQuery选择器上下文 :
$(document).ready(function() { $(".post").each(function(idx, elm) { $(".fancybox", elm) .attr('rel', 'gallery' + idx) .fancybox({ // ... }); }); }); ...
$(".fancybox", elm)
告诉jQuery使用fancybox
类查找元素,但只匹配作为elm
后代的元素(这里是.each
循环的当前.post
元素)。
根据fancybox的工作原理,您可以将.fancybox()
调用移动到each
之外:
$(".post").each(function(idx, elm) { // assign `rel` values as above... }); $(".fancybox").fancybox({ // ... });