Как получить текущий индекс изображения в fancybox? - PullRequest
3 голосов
/ 31 августа 2011

Я пытаюсь получить текущий индекс изображений в галерее fancybox.В документации есть метод pos, но это просто метод установки и он не работает для получения.

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

Я понимаю, что pos разработан как метод установки, но мне нужно знать текущий индекс изображения вГалерея fancybox.
Как узнать текущий индекс изображения?

Ответы [ 5 ]

4 голосов
/ 19 марта 2012

Если вы используете FancyBox 2 , вы можете использовать свойство index.

$.fancybox.current.index
4 голосов
/ 31 августа 2011

Что-то вроде следующего должно работать нормально:

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

Вам может придется адаптировать это решение, если вы используете некоторую пользовательскую иерархию DOM.

0 голосов
/ 23 февраля 2019

Самый простой и понятный способ найти текущее индексное изображение в FancyBox 3:

var idx = $ .fancybox.getInstance (). CurrIndex;

$ ( '[данных FancyBox = "галерея"]') экв (IDX) .parents ( 'image_gallery. ') ToggleClass (' выбрано');..

0 голосов
/ 01 марта 2018

я использовал принятый ответ для обновления до v3.2

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

Мне нужно было найти слайд, показывающий в данный момент, мне это нужно было для моей пользовательской кнопки (чтобы удалить эту фотографию)

0 голосов
/ 05 ноября 2013

Вы также можете написать свой собственный метод в библиотеку Fancybox (jscript_jquery.fancybox-1.3.4.pack.js):

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

Тогда вы сможете достичь индекса фактического изображения, вызвав его:

var actualPosition = $.fancybox.getPos();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...