Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Magnific Popup: source title from span

I want to take the title for my Magnific images from a hidden caption field inside the anchor tag - NOT from the title. This is because my title contains markup.

HTML

<a href="img/zoom.jpg">
  <img src="img/small.jpg" alt=""> 
  <span class="hide">This is a caption with <a href="#">a link</a> in it</span>
</a>

JS

// initialise the magnific lightbox
    $('.js-lightbox').each(function() {
      $(this).magnificPopup({
        delegate: 'a',
        type: 'image',
        tLoading: 'Loading image #%curr%...',
        gallery: {
          enabled: true,
          navigateByImgClick: true,
          preload: [0,1] // Will preload 0 - before current, and 1 after the current image
        },
        image: {
          titleSrc: function(item) {
            return item.el.text;
          },
          tError: '<a href="%url%">The image #%curr%</a> could not be loaded.'
        }
      });
    });

So obviously the return item.el.text; isn't working as expected. Thanks.

like image 855
strangerpixel Avatar asked Oct 16 '13 12:10

strangerpixel


People also ask

How do I add content to Magnific popup?

First you need to include the JS library in your theme. The minified file is quite big, so I am not providing it here. You can find the minified JS file here: https://github.com/dimsemenov/Magnific-Popup/blob/master/dist/jquery.magnific-popup.min.js. Place this JS file in the theme you wish to use.

How do I use Magnific popup?

Get MagnificClick the Releases button in the center of the page. Then download the zip version of the source code for the latest versions. Find the file you downloaded and unzip it. The resulting folder should be called Magnific-Popup-master.


1 Answers

return item.el.find('span').text();
like image 109
Dmitry Semenov Avatar answered Oct 01 '22 01:10

Dmitry Semenov