使用Fancybox2从多个预览图片开始创建一个图库
Starting one gallery from multiple preview pictures, with Fancybox2
我开始一个画廊与多个预览图片(链接)。第一个按钮进入图库,第二个按钮进入同一图库中的特定照片,但如果你选择的话,你可以点击整个图库。把它想象成一个设置好的书签,带你到一个更大的图片库的不同点。
我已经复制了这是如何为我工作的,虽然它是多余的,不是很有效。我只是假装,好让整个过程循环。谢谢你的建议。
链接如下:
<a class="open_fancybox" href=""><img src="http://fancyapps.com/fancybox/demo/1_s.jpg" alt=""/></a>
<a class="open_fancybox2" href=""><img src="http://fancyapps.com/fancybox/demo/3_s.jpg" alt=""/></a>
这里是多余的Javascript(以不同的顺序显示第二个链接的图像):
$(".open_fancybox").click(function() {
$.fancybox.open([
{
href : 'http://fancyapps.com/fancybox/demo/1_b.jpg',
title : '1st title'
},
{
href : 'http://fancyapps.com/fancybox/demo/2_b.jpg',
title : '2nd title'
},
{
href : 'http://fancyapps.com/fancybox/demo/3_b.jpg',
title : '3rd title'
},
{
href : 'http://fancyapps.com/fancybox/demo/4_b.jpg',
title : '3rd title'
}
], {
padding : 0
});
return false;
});
$(".open_fancybox2").click(function() {
$.fancybox.open([
{
href : 'http://fancyapps.com/fancybox/demo/3_b.jpg',
title : '1st title'
},
{
href : 'http://fancyapps.com/fancybox/demo/4_b.jpg',
title : '2nd title'
},
{
href : 'http://fancyapps.com/fancybox/demo/1_b.jpg',
title : '3rd title'
},
{
href : 'http://fancyapps.com/fancybox/demo/2_b.jpg',
title : '3rd title'
}
], {
padding : 0
});
return false;
});
你可以在这里看到:
http://jsfiddle.net/uZCC6/2687/您可以只使用一个脚本和一个类用于所有链接。然后你可以添加一个(HTML5) data-index
属性到你的任何链接,以设置它应该从哪个图片开始的画廊。
例如,如果你想让第二个链接从第三个图片开始,你可以这样做:
<a class="open_fancybox" href=""><img src="http://fancyapps.com/fancybox/demo/1_s.jpg" alt=""/></a>
<a class="open_fancybox" data-index="3" href=""><img src="http://fancyapps.com/fancybox/demo/3_s.jpg" alt=""/></a>
然后在脚本中,检测链接是否具有data-index
属性并相应地设置fancybox index
,否则从第一个元素开始画廊,因此:
$(".open_fancybox").click(function () {
// detect if data-index exists otherwise index = 0 (first image)
var theIndex = $(this).data("index") ? $(this).data("index") - 1 : 0;
$.fancybox.open([{
href: 'http://fancyapps.com/fancybox/demo/1_b.jpg',
title: '1st title'
}, {
href: 'http://fancyapps.com/fancybox/demo/2_b.jpg',
title: '2nd title'
}, {
href: 'http://fancyapps.com/fancybox/demo/3_b.jpg',
title: '3rd title'
}, {
href: 'http://fancyapps.com/fancybox/demo/4_b.jpg',
title: '4th title'
}], {
padding: 0,
index: theIndex // set what index should the gallery start from
});
return false;
});
请记住,在javascript中,index
数字总是以0
开头,这就是为什么我们使用$(this).data("index") - 1
参见fork JSFIDDLE
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 从javascript创建一个列表
- Kendo:我该如何在树视图中创建一个递归的hieiarchy
- 从html创建一个指令,该指令按类名应用函数
- 如何为jQuery屏蔽输入插件创建一个允许字母数字、空格和重音字符的掩码
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 如何创建一个“;表单弹出框“;在chrome中右键单击时位于突出显示的单词上方
- 使用AngularJS Directive WHITOUT$scope创建一个动态html元素
- 创建一个循环来简化HTML和CSS代码
- 在javascript中的xml中创建一个链接
- 尝试创建一个具有z-index的堆叠菜单'使用HTML5/CSS3/JS
- 创建一个方法,通过一个窗口进行迭代并获取Titanium中的所有控件
- 用javascript创建一个看起来正常分布的模式
- 如何创建一个方法来验证数组的范围
- 在量角器中创建一个.txt错误输出文件是手动的,而不是控制台错误
- 动态创建一个javascript/jquery多级数组
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- 为网站表单创建一个专业的日历
- 如何创建一个具有固定左右列和水平滚动的表