首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fancybox2:修改多个画廊的调用

Fancybox2:修改多个画廊的调用
EN

Stack Overflow用户
提问于 2011-12-30 00:37:21
回答 2查看 10.5K关注 0票数 3

我正在从MySQL数据库中保存的信息生成一个包含多个库的超文本标记语言页面,并且需要修改Fancybox2调用,如下所示

代码语言:javascript
复制
$(document).ready(function() {
    $("a[rel=gall24],a[rel=gall30], etc, etc etc").fancybox({ ... });
});

如何将元素引用添加到调用中?也就是说,我需要在调用中添加一个可变数量的a[rel=XXX]

我要用调用中的值创建一个变量并引用它吗?如果是这样的话,我对语法不太了解,如果能举个例子就更好了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-30 03:06:05

您可以使用单个脚本,如下所示:

代码语言:javascript
复制
$(document).ready(function() {
    $("a.fancybox").fancybox();
});

然后,在创建图库时,只需为每个图库添加不同的rel属性,但添加相同的class="fancybox",例如:

代码语言:javascript
复制
<!--gallery 01 -->
<a class="fancybox" href="images/01.jpg" rel="gallery01">image 01</a>
<a class="fancybox" href="images/02.jpg" rel="gallery01">image 02</a>
<a class="fancybox" href="images/03.jpg" rel="gallery01">image 03</a>

<!--gallery 02 -->
<a class="fancybox" href="images/04.jpg" rel="gallery02">image 04</a>
<a class="fancybox" href="images/05.jpg" rel="gallery02">image 05</a>
<a class="fancybox" href="images/06.jpg" rel="gallery02">image 06</a>

当您单击任何图像(例如图像01 )时,它将只在(Fancybox)库中显示那些具有相同rel属性的元素(图像02和03与上例中的图像02和03,当然+图像01 )

使用FancyBoxv2.x,您不需要像@sczizzo建议的那样使用jQuery live(),因为FancyBoxv2.x已经支持现有的和动态添加的元素

最后一个注意事项:不要将ID用于多个元素。ID应该是唯一的,并且您不应该在同一个html文档中使用相同的ID两次或多次。查看http://fancyapps.com/fancybox/#support常见问题第6号以了解更多信息

票数 18
EN

Stack Overflow用户

发布于 2011-12-30 01:01:42

为什么不多次调用fancybox()呢?您可以保存传入的选项并在以后使用它们。

另一方面,您也可以使用类而不是a[rel=XYZ]选择器,这就是我要做的:

代码语言:javascript
复制
$('a.gallery').fancybox({ ... });

如果内容是动态加载的(例如,通过Ajax),您可以使用jQuery的live()执行类似的操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8670555

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档