Fancybox 忽略拇指选项
Fancybox ignores thumbs option
我得到了五个缩略图的画廊预览,画廊本身有更多照片。为了避免将所有内容都放入我的代码中,我将它们放在一个数组中。
这是我的 HTML 代码:
<div id="start_slides">
<a href="javascript:;"><img src="./thumb1.jpg" alt=""></a>
<a href="javascript:;"><img src="./thumb2.jpg" alt=""></a>
<a href="javascript:;"><img src="./thumb3.jpg" alt=""></a>
<a href="javascript:;"><img src="./thumb4.jpg" alt=""></a>
<a href="javascript:;"><img src="./thumb5.jpg" alt=""></a>
</div>
我想在右侧显示缩略图。但是我不明白为什么这不起作用。
var $links = $("#start_slides a");
$links.on('click', function () {
$.fancybox.open([
{ src: 'photo1.jpg', opts: { caption: 'First caption' } },
{ src: 'photo2.jpg', opts: { caption: 'Second caption' } },
{ src: 'photo3.jpg', opts: { caption: 'Third caption' } },
{ src: 'photo4.jpg', opts: { caption: 'Fourth caption' } },
{ src: 'photo5.jpg', opts: { caption: 'Fifth caption' } },
{ src: 'photo6.jpg', opts: { caption: 'Sixth caption' } },
{ src: 'photo7.jpg', opts: { caption: 'Seventh caption' } },
{ src: 'photo8.jpg', opts: { caption: 'Eigth caption' } }],
{
loop: true,
thumbs: {
autoStart: true,
axis: "y"
}
}, $links.index(this)
);
});
为什么这不起作用,我该如何解决?
您没有为缩略图提供任何值。
替换
{ src: 'photo1.jpg', opts: { caption: 'First caption' } }
和
{ src: 'photo1.jpg', thumb: 'thumb1.jpg', opts: { caption: 'First caption' } }
其余项目依此类推。
Janis 的回答无效,但帮助我找到了解决方案。 (所以还是谢谢你):-)
必须在每个图像的选项中添加一个缩略图。
var $links = $("#start_slides a");
$links.on('click', function () {
$.fancybox.open([
{ src: 'photo1.jpg', opts: { caption: 'First caption', thumb: 'thumb1.jpg' } },
{ src: 'photo2.jpg', opts: { caption: 'Second caption', thumb: 'thumb2.jpg' } },
{ src: 'photo3.jpg', opts: { caption: 'Third caption', thumb: 'thumb3.jpg' } },
{ src: 'photo4.jpg', opts: { caption: 'Fourth caption', thumb: 'thumb4.jpg' } },
{ src: 'photo5.jpg', opts: { caption: 'Eigth caption', thumb: 'thumb5.jpg' } }],
{
loop: true,
thumbs: {
autoStart: true,
axis: "y"
}
}, $links.index(this)
);
});
我得到了五个缩略图的画廊预览,画廊本身有更多照片。为了避免将所有内容都放入我的代码中,我将它们放在一个数组中。
这是我的 HTML 代码:
<div id="start_slides">
<a href="javascript:;"><img src="./thumb1.jpg" alt=""></a>
<a href="javascript:;"><img src="./thumb2.jpg" alt=""></a>
<a href="javascript:;"><img src="./thumb3.jpg" alt=""></a>
<a href="javascript:;"><img src="./thumb4.jpg" alt=""></a>
<a href="javascript:;"><img src="./thumb5.jpg" alt=""></a>
</div>
我想在右侧显示缩略图。但是我不明白为什么这不起作用。
var $links = $("#start_slides a");
$links.on('click', function () {
$.fancybox.open([
{ src: 'photo1.jpg', opts: { caption: 'First caption' } },
{ src: 'photo2.jpg', opts: { caption: 'Second caption' } },
{ src: 'photo3.jpg', opts: { caption: 'Third caption' } },
{ src: 'photo4.jpg', opts: { caption: 'Fourth caption' } },
{ src: 'photo5.jpg', opts: { caption: 'Fifth caption' } },
{ src: 'photo6.jpg', opts: { caption: 'Sixth caption' } },
{ src: 'photo7.jpg', opts: { caption: 'Seventh caption' } },
{ src: 'photo8.jpg', opts: { caption: 'Eigth caption' } }],
{
loop: true,
thumbs: {
autoStart: true,
axis: "y"
}
}, $links.index(this)
);
});
为什么这不起作用,我该如何解决?
您没有为缩略图提供任何值。
替换
{ src: 'photo1.jpg', opts: { caption: 'First caption' } }
和
{ src: 'photo1.jpg', thumb: 'thumb1.jpg', opts: { caption: 'First caption' } }
其余项目依此类推。
Janis 的回答无效,但帮助我找到了解决方案。 (所以还是谢谢你):-)
必须在每个图像的选项中添加一个缩略图。
var $links = $("#start_slides a");
$links.on('click', function () {
$.fancybox.open([
{ src: 'photo1.jpg', opts: { caption: 'First caption', thumb: 'thumb1.jpg' } },
{ src: 'photo2.jpg', opts: { caption: 'Second caption', thumb: 'thumb2.jpg' } },
{ src: 'photo3.jpg', opts: { caption: 'Third caption', thumb: 'thumb3.jpg' } },
{ src: 'photo4.jpg', opts: { caption: 'Fourth caption', thumb: 'thumb4.jpg' } },
{ src: 'photo5.jpg', opts: { caption: 'Eigth caption', thumb: 'thumb5.jpg' } }],
{
loop: true,
thumbs: {
autoStart: true,
axis: "y"
}
}, $links.index(this)
);
});