使用href的Fancybox2组
Fancybox2 groups using href
从Fancybox 1切换到版本2后,分组不再起作用。我有以下 HTML:
<a id="preview_1" class="preview" rel="xxl" href="this.php?picNo=1">
<img id="previewImage_1" class="previewImage" src="1.jpg" />
</a>
<a id="preview_2" class="preview" rel="xxl" href="this.php?picNo=2">
<img id="previewImage_2" class="previewImage" src="2.jpg" />
</a>
....
请注意,我不会将Fancybox显示的图像的URL用作上面的URL。这是因为我想为关闭 JavaScript 的用户提供一个合适的回退。相反,我使用以下代码创建花哨的盒子:
$("a.preview").each(function() {
var imgID = this.id.replace("preview_", "");
$(this).fancybox({
"href": imageURL[imgID], // this array is set somewhere else
"type": "image",
});
});
这在花式盒子 1 中工作正常。当我单击其中一个链接时,Fancybox 会显示箭头,以便我可以单击抛出一组图像。但是,在Fancybox 2中,图像不再分组。如果我单击其中一个链接,则仅显示关联的图像,而不会显示该组中的其他图像(具有相同的"rel")。
这个问题有解决方案吗?
在使用 .each()
方法将元素绑定到 fancybox (v2.x) 时,它以某种方式将每个元素绑定为一个单独的组。
我还没有完全分析剧本来告诉你到底发生了什么。
但我能说的是,您可以完全删除 .each()
方法并在beforeLoad
回调中动态获取imgID
的值。然后从数组中设置相应的href
,如下所示:
jQuery(document).ready(function ($) {
$("a.preview").fancybox({
beforeLoad: function () {
var imgID = $(this.element).attr("id").replace("preview_", "") - 1;
this.href = imageURL[imgID];
},
type: "image"
});
}); // ready
请注意,我们需要减去 ID 的1
,因为 javascript 索引以 0
开头
参见 JSFIDDLE
注意:这是针对fancybox v2.x的,但是它与fancybox v1.3.4使用正确的回调和选择器同样有效:
jQuery(document).ready(function ($) {
$("a.preview").fancybox({
onStart: function (currentArray, currentIndex) {
var imgID = $(".preview").eq(currentIndex).attr("id").replace("preview_", "") - 1;
this.href = imageURL[imgID];
},
type: "image"
});
}); // ready
参见 JSFIDDLE
相关文章:
- 在单击href链接的同时下载文件
- 如果href包含X,请更改href
- 锚点元素的href属性自动更改
- 锚点元素不't使用svg时,请打开EDGE上的href
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 如何覆盖锚点元素's href目标,并在我点击转到目标javascript时删除其他错误
- Href:当前DIV中的目标ID
- href属性内的javascript函数
- ng绑定和ng href问题.ng href未从控制器加载数据
- 如何将href设置为不同的值
- 如何提取“;href"最近列表项中的属性值
- CKEditor如何允许href="javascript:void(0)"在小部件中
- 渲染”;a“;React.js中的可选href
- 在类似Facebook的社交墙中添加href
- D3 Javascript HREF链接替换
- 点击href在谷歌地图中加载位置
- 如何在javascript中的某个按钮上更改href的值
- 我可以使用location.href为变量生成url吗
- 根据滚动位置动态更改href
- 使用href的Fancybox2组