通过手动链接打开多个Fancybox画廊
Opening multiple Fancybox galleries via manual links
我试图通过手动调用html中的库而不是通过jquery选项来转换"如何打开fancybox"中提供的解决方案?以便将其应用于多个库,但无法使其正常工作。
我有几个具有以下属性的链接:
<a href="#" class="open-album" data-open-id="album-1">Album 1</a>
<a href="#" class="open-album" data-open-id="album-2">Album 2</a>
等等。
这些应该适用于他们各自的支持Fancybox的专辑,例如:
<a href="#" class="image-show" rel="album-1"><img src="#" /></a>
<a href="#" class="image-show" rel="album-1"><img src="#" /></a>
<a href="#" class="image-show" rel="album-1"><img src="#" /></a>
和
<a href="#" class="image-show" rel="album-2"><img src="#" /></a>
<a href="#" class="image-show" rel="album-2"><img src="#" /></a>
<a href="#" class="image-show" rel="album-2"><img src="#" /></a>
Fancybox查找.image-show
类,并且在单击图像本身时工作良好。
下面的jQuery代码应该将相册标题链接到它们各自相册中的第一个图像:
$('.open-album').click(function(e) {
var el, id = $(this.element).data('open-id');
if(id){
el = $('.image-show[rel=' + id + ']:eq(0)');
e.preventDefault();
el.click();
}
});
正如您所看到的,目标是从相册标题中获得data-open-id
,并使用它打开第一个Fancybox项目,该值作为其rel
属性。唉,它不起作用。有什么可能出错的想法吗?非常感谢您的帮助!
提前感谢!
我假设您正在将选择器.image-show
绑定到fancybox,不是吗?
$(".image-show").fancybox();
如果是这样,代码的问题是$(this.element)
应该只在fancybox回调中使用,但由于您使用的是常规jQuery方法(.click()
),因此您应该引用当前元素,如$(this)
$('.open-album').click(function(e) {
var el, id = $(this).data('open-id');
if(id){
el = $('.image-show[rel=' + id + ']:eq(0)');
e.preventDefault();
el.click();
}
});
请参阅JSFIDDLE
相关文章:
- 画廊图像未显示
- Fancybox是否将Click事件静音
- 需要帮助谷歌地图方向面板在FancyBox中显示
- 嵌套到另一个函数中的Fancybox函数;不起作用
- 如何在用户按下F5键或单击浏览器时显示自定义的fancybox's后退/关闭按钮
- 动态加载fancybox并将其连接
- 当有许多形式时,Fancybox脚本不起作用
- Modify fancybox html
- 制作一个没有显示器的画廊
- 当页面包含指向一个图像的多个链接时,fancyBox会复制缩略图辅助图像
- 如何通过点击按钮关闭Fancybox
- Fancybox画廊重复图像
- Fancybox多个画廊发行
- 通过手动链接打开多个Fancybox画廊
- Fancybox只向第一个画廊开火
- 滚动浏览所有fancyBox画廊
- Jquery画廊式的fancybox
- 将fancybox整合到画廊流量中
- Fancybox modifiy.如何修改fanybox停止在每个画廊的最后一个项目?(1号廊2号廊等)
- Fancybox图片和youtube在1个画廊