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

Javascript 如何在fancybox中获取当前图像索引?,javascript,jquery,fancybox,Javascript,Jquery,Fancybox,我正在尝试获取fancybox gallery中的当前图像索引。文档中有一个pos方法,但它只是setter方法,不适用于getter $.fancybox.pos(3) // works fine var index = $.fancybox.pos() // does not work . It returns undefined. 我知道pos是作为setter方法设计的,但我需要知道 fancybox图库中的当前图像索引。 我如何知道当前图像索引?类似于以下内容的操作应该可以: va

我正在尝试获取fancybox gallery中的当前图像索引。文档中有一个
pos
方法,但它只是setter方法,不适用于getter

$.fancybox.pos(3) // works fine
var index = $.fancybox.pos() // does not work . It returns undefined. 
我知道
pos
是作为setter方法设计的,但我需要知道 fancybox图库中的当前图像索引。

我如何知道当前图像索引?

类似于以下内容的操作应该可以:

var src = $('#fancybox-img').attr('src'); // Looks for the *fancyboxed* image
var idx = $('a[href="'+src+'"]').index(); // Gets the index of the thumbnail
如果使用某些自定义DOM层次结构,则可能必须调整此解决方案。

如果使用,则可以使用index属性

$.fancybox.current.index

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

然后您可以通过调用以下命令来达到实际图像的索引:

var actualPosition = $.fancybox.getPos();

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

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

我需要找到当前正在播放的幻灯片,我需要它作为我的自定义按钮(删除该照片)

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

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

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


看起来你可以试试:(“#children_id”).val();如前所述,非常感谢。您的解决方案是可以接受的,但这段代码中仍然存在一个小问题。您正在检查具有相同href值的锚,但这并没有提供正确的索引,因为在我自己的项目中,用户可以在图库中复制照片。你有更好的方法吗?你也可以为其他用户编辑你的答案,因为你忘记了添加“属性选择器中的字符。我现在没有编辑权限。答案已编辑。此方法的替代方法是侦听fancybox事件,并根据这些事件设置索引。但我不确定fancybox是否能处理这个问题。仍然存在一些错误。我认为这是正确的方法。var img=$('#fancybox img').get(0);变量组=$('a.group');var current=group.find('a[href=“”+img.attr(“src”)+“]”)。get(0);var idx=累积指数(当前);对于任何其他解决方案,请发布一个专门的答案,而不是作为评论,以便其他人可以从中获益。是否有办法获得下一个和上一个索引?我需要提取他们的链接。
var src = $('.fancybox-slide--current .fancybox-image').attr('src');
var idx = $('a[href="'+src+'"]')[0];