2013-06-14 3 views
2

Magnific PopupMagnific Popup объект

Я использую Magnific всплывающих окон, а Jquery осветителя как плагин. Я пытаюсь использовать встроенный объект для получения атрибута.

Это не работает так, как я думал. Я прочитал API здесь:

http://dimsemenov.com/plugins/magnific-popup/documentation.html#api

То, что я пытался до сих пор

Я получаю объект в консоли, но я не могу получить атрибут из него. (JQuery готов выглядит немного другой (псевдоним), так как он используется в WordPress)

<script> 
jQuery(document).ready(function($) { 
    $('.image-link').magnificPopup({ 
     type:'image', 
      callbacks: { 
       open: function() { 
        var magnificPopup = $.magnificPopup.instance; 
        console.log(magnificPopup.currItem); 
        window.location.hash = $(magnificPopup.currItem).attr('data-slug'); 
        } 
      } 
    }); 
}); 
</script> 
<a href="http://www.someimage.com/image.png" data-slug="my-slug"> 

Собственные thougts

  • Это не объект как $ (это) и не будет работать так же?
  • Я называю это неправильным способом?
  • Я использую неправильный объект для этой проблемы?

Вопрос

Как это сделать правильно?

ответ

7

currItem - это объект данных с массивным всплывающим окном, это не элемент DOM. Этот объект содержит данные об открытом элементе - пути изображения, флаги, если он загружен или нет. E.t.c.

Вы можете получить доступ к элементу DOM, который открыл всплывающее окно через $.magnificPopup.instance.currItem.el.

Кроме того, если вы выполнять код из open обратного вызова, вы можете использовать this вместо $.magnificPopup.instance:

this.currItem.el