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

时间:2011-08-31 13:13:22

标签: javascript jquery fancybox

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

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

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

5 个答案:

答案 0 :(得分: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层次结构,可能必须调整此解决方案。

答案 1 :(得分:4)

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

$.fancybox.current.index

答案 2 :(得分:0)

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

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

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

var actualPosition = $.fancybox.getPos();

答案 3 :(得分:0)

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

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

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

答案 4 :(得分:0)

在FancyBox 3中找到当前索引图像的最简便方法:

  

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

     

$('[data-fancybox =“ gallery”]')。eq(idx).parents('。image_gallery')。toggleClass('selected');