如何在fancybox中获取当前图像索引?

问题描述 投票:3回答:5

我想在fancybox画廊中获取当前图像索引。文档中有一个pos方法,但它只是setter方法而不适用于getter。

$.fancybox.pos(3) // works fine
var index = $.fancybox.pos() // does not work . It returns undefined. 

我知道pos被设计为setter方法,但我需要知道fancybox gallery中的当前图像索引。 我怎么知道当前的图像索引?

javascript jquery fancybox
5个回答
4
投票

像下面这样的东西应该做得很好:

var src = $('#fancybox-img').attr('src'); // Looks for the *fancyboxed* image
var idx = $('a[href="'+src+'"]').index(); // Gets the index of the thumbnail

如果使用某些自定义DOM层次结构,则可能必须调整此解决方案。


4
投票

如果您使用的是FancyBox 2,则可以使用index属性。

$.fancybox.current.index

0
投票

您还可以将自己的方法编写到Fancybox库(jscript_jquery.fancybox-1.3.4.pack.js):

b.fancybox.getPos=function(){return p};

然后你可以通过调用这个来达到实际图像的索引:

var actualPosition = $.fancybox.getPos();

0
投票

我使用已接受的答案来升级v3.2

var src = $('.fancybox-slide--current .fancybox-image').attr('src');
var idx = $('a[href="'+src+'"]')[0];

我需要找到当前显示的幻灯片,我需要它来自我的自定义按钮(删除该照片)


0
投票

在FancyBox 3中查找当前索引图像的最简单,最干净的方法:

var idx = $ .fancybox.getInstance()。currIndex;

$( '[数据的fancybox = “图库”]')当量(IDX)。家长( 'IMAGE_GALLERY ')toggleClass(' 选择')。

© www.soinside.com 2019 - 2024. All rights reserved.