diff options
Diffstat (limited to 'assets/js/lightGallery-init.js')
-rw-r--r-- | assets/js/lightGallery-init.js | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/assets/js/lightGallery-init.js b/assets/js/lightGallery-init.js new file mode 100644 index 0000000..67de405 --- /dev/null +++ b/assets/js/lightGallery-init.js @@ -0,0 +1,54 @@ + $(document).ready(function() { + let items = []; + $('.post-content figure').each(function() { + if ($(this).attr('class') == 'gallery-ignore') return true; // ignore any figures where class="pswp-ignore" + // get properties from child a/img/figcaption elements, + let $figure = $(this), + $img = $figure.find('img'), + $src = $img.attr('data-src'), + $title = $figure.find('figcaption').html(); + + if ($img.data('size')) { + let $size = $a.data('size').split('x'); + var item = { + 'src': $src, + 'thumb': $src, + 'subHtml': $title, + 'width': $size[0], + 'height': $size[1] + } + }else{ + var item = { + 'src': $src, + 'thumb': $src, + 'subHtml': $title + } + var img = new Image(); + img.src = $src; + var wait = setInterval(function() { + var w = img.naturalWidth, + h = img.naturalHeight; + if (w && h) { + clearInterval(wait); + item.width = w; + item.height = h; + } + }, 30); + } + + var index = items.length; + items.push(item); + // console.log(item) + + $figure.on('click', function(event) { + event.preventDefault(); + $(this).lightGallery({ + dynamic: true, + download: false, + showThumbByDefault: false, + dynamicEl: items, + index: index + }) + }); + }); + });
\ No newline at end of file |