我现在只是在看fancybox v2。
我试图让一个画廊用fancybox加载,但需要手动调用。我不希望通过 jquery 加载图库图像,最好让它们从 html 页面加载,因为这将被添加到 CMS 的模板中,该模板需要让用户将图像添加到将填充他们上传的每张新图片。
是否像在开始之前在选项中添加调用一样简单,或者在图像的 a 标签的 href 中添加调用?
谢谢,马克
确保所有新加载的图像在链接到它们的锚点内共享相同class
和属性rel
<a href="image01.jpg" class="fancybox" rel="gallery" ...
div
如果您愿意,这些 html 锚点可以隐藏在其中。您可以查看此帖子以供参考。
然后,将它们绑定到fancybox
$(".fancybox").fancybox();
您说您将使用 CMS,因此如果href
您加载的图像的格式类似于
http://path/to/image/?abc=123
(例如没有图像扩展名),请将type:"image"
选项添加到您的脚本
$(".fancybox").fancybox({
type:"image"
});
如果锚点可见,单击其中任何一个都将启动图库。
另一方面,您可以使用任何其他链接“手动”启动图库
<a href="javascript:;" id="launcher">open gallery</a>
并添加此脚本:
$("#launcher").on("click", function(){
$(".fancybox").eq(0).trigger("click");
});
该.eq()
方法用于从第一个项目(可以是任何项目)开始画廊,否则画廊将从最后一个附加项目开始。此外,该.on()
方法需要 jQuery v1.7+
如果您想/必须使用较旧的 jQuery 版本(例如,由于 Drupal 模块),请摆脱.on()
并使用
< a href="javascript:;" id="launcher">LINK TO TOPEN GALLERY< /a>
和
jQuery(document).ready(function($) {
$("#launcher").click(function() {
$(".imagefield-fancybox").eq(0).trigger("click");
});
});
反而。
也适用于较旧的 jQuery 版本。将“.imagefield-fancybox”替换为您正在使用的类。