【发布时间】:2016-12-03 16:35:27
【问题描述】:
默认情况下,fancybox 会按照它们在 HTML 中添加的顺序来获取画廊中的项目。
是否有另一种选择,通过添加可选的data- 属性,当它们打开时会重新排序,但是当它们显示在页面中(而不是在画廊弹出窗口中)时,它们将保持不变?
代码如下所示:
<a class="fancybox" rel="gallery1" href="http://farm2.staticflickr.com/1617/24108587812_6c9825d0da_b.jpg" title="Morning Godafoss (Brads5)">
<img src="http://farm2.staticflickr.com/1617/24108587812_6c9825d0da_m.jpg" alt="" />
</a>
<a class="fancybox" rel="gallery1" href="http://farm4.staticflickr.com/3691/10185053775_701272da37_b.jpg" title="Vertical - Special Edition! (cedarsphoto)">
<img src="http://farm4.staticflickr.com/3691/10185053775_701272da37_m.jpg" alt="" />
</a>
<a class="fancybox" rel="gallery1" href="http://farm1.staticflickr.com/574/22407305427_69cc6e845f_b.jpg" title="Racing against the Protons (tom.leuzi)">
<img src="http://farm1.staticflickr.com/574/22407305427_69cc6e845f_m.jpg" alt="" />
</a>
<a class="fancybox" rel="gallery1" href="http://farm1.staticflickr.com/291/18653638823_a86b58523c_b.jpg" title="Lupines (Kiddi Einars)">
<img src="http://farm1.staticflickr.com/291/18653638823_a86b58523c_m.jpg" alt="" />
</a>
还有 JS:
$(".fancybox").fancybox();
如何保持相同的 HTML 代码,但在弹出窗口中按以下顺序打开它们:3、1、4、2(例如)?
我想要这样的东西:
<a class="fancybox" rel="gallery1" data-fancybox-order="3" ... >
<a class="fancybox" rel="gallery1" data-fancybox-order="1" ... >
<a class="fancybox" rel="gallery1" data-fancybox-order="4" ... >
<a class="fancybox" rel="gallery1" data-fancybox-order="2" ... >
那么如果我们在弹出窗口中打开第二张图片(data-fancybox-order="1"),就没有上一个按钮了。但是,如果我们单击下一步,它将打开第四张图像。然后,再次单击下一步后,它将打开第一张图像,然后打开第三张图像(data-fancybox-order="4")。在那一刻,下一个按钮将消失。
最干净的方法是什么?
【问题讨论】:
标签: javascript jquery html css fancybox-2