我有一个带有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
});});
发布于 2013-12-27 14:06:39
假设每个图库位于一个<div class="post">中,如下所示:
<!-- first gallery -->
<div class="post">
<a class="fancybox">...</a>
<a class="fancybox">...</a>
</div>
<!-- second gallery -->
<div class="post">
<a class="fancybox">...</a>
<a class="fancybox">...</a>
</div>只需使用.each( function(index, element) )循环.post元素即可。使用每个.post索引构建库标识符,并在选择.fancybox元素时使用每个.fancybox元素作为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({
// ...
});https://stackoverflow.com/questions/20802062
复制相似问题