gpt4 book ai didi

javascript - Fancybox - 在一个画廊中组合图像和 iframe

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:37:16 25 4
gpt4 key购买 nike

我正在处理的项目中有一个“附加文件”容器,它显示已附加到特定事件的文件的缩略图。当用户单击缩略图时,会打开一个 fancybox 窗口,向他们显示附加图像或文本文件的更大预览。

现在,我的解决方案包括将 fancybox 类型设置为 iframe,如下所示:

$(".fancybox_group").fancybox({
type : 'iframe'
});

这会很好地显示文本文件和图像,但图像周围有这个巨大的白色边框。我在谷歌上做了一些搜索,发现 this solution ,但这对我不起作用。这只是创建了两个独立的 fancybox 实例;一种用于图像,一种用于 iframe。我希望能够滚动浏览一个画廊中的所有附件。这可能吗?

Here is an example on jsfiddle显示我正在努力实现的目标。我从一个 fancybox 示例中借用了代码/图像,并添加了另一个指向文本文档的缩略图链接。这就是我在我的项目中设置它的方式。任何见解将不胜感激。

最佳答案

您正在使用 fancybox v2.0.6,因此其他解决方案可能已过时。

要实现您想要的很简单,只需执行以下操作:

1).按此顺序加载所有 javascript 文件:

  • jQuery
  • Fancybox js文件
  • Fancybox 媒体 js 文件(您可以在 helpers 目录中找到它)

2).加载 fancybox css 文件

3).为要在 fancybox 中打开的每种对象设置 html,例如:

图片:

<a class="fancybox" data-fancybox-group="gallery" href="image01.jpg"><img src="image01thumb.jpg" alt="" /></a>
<a class="fancybox" data-fancybox-group="gallery" href="image02.jpg"><img src="image02thumb.jpg" alt="" /></a>

如果你的图像的 hrefhref='/attachments/76' fancybox 将不知道它是一个 image因为缺少扩展名(jpg、png、gif)。将类 fancybox.image 添加到您的 html 中,例如:

<a class="fancybox fancybox.image" data-fancybox-group="gallery" href="/attachments/76"><img src="thumb76.jpg" alt="" /></a>

Ajax 内容(html 或 txt 文件):

<a class="fancybox fancybox.ajax" data-fancybox-group="gallery" href="sample.html">open ajax 1</a>
<a class="fancybox fancybox.ajax" data-fancybox-group="gallery" href="sample.txt">open ajax 2</a>

(注意第二个类 fancybox.ajax ...另外,您可以使用缩略图代替我示例中的文本)

通过 iframe 的外部页面:

<a class="fancybox fancybox.iframe" data-fancybox-group="gallery" href="http://domain.com/page.html">open page in iframe mode</a>
<a class="fancybox fancybox.iframe" data-fancybox-group="gallery" href="http://other.com/page2.html">open other page in iframe mode</a>

(注意第二个类 fancybox.iframe)

YouTube 视频:

<a class="fancybox" data-fancybox-group="gallery" href="http://www.youtube.com/watch?v=2matH4B9bTo">open youtube video</a>

(注意我们不需要添加任何额外的类,因为我们使用的是 fancybox 媒体助手)

注意:我们正在使用 data-fancybox-group="gallery" 属性来设置同一图库中的所有元素(您应该设置一个 HTML5 DOCTYPE 虽然)

最后,只需使用这个脚本:

$(".fancybox").fancybox();

您可能想要添加其他 API 选项,例如:

$(".fancybox").fancybox({
// other API options
padding: 0 // optional etc.
});

如果您还想使用 buttonsthumbnails 助手,请不要忘记加载正确的 js 和 css 文件。同时将 helpers 选项添加到您的脚本中,例如:

$(".fancybox").fancybox(
helpers : {
buttons : {},
thumbs : {
width : 50,
height : 50
}
}
});

最后注意:这是fancybox v2.0.6+

关于javascript - Fancybox - 在一个画廊中组合图像和 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11122414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com