/* global SimpleLightbox */ /** * File lightbox-init.js. * Gets Lightbox working for Kadence Theme. */ (function() { 'use strict'; var kadenceThemeLightbox = { checkImage: function( element ) { return /(png|jpg|jpeg|gif|tiff|bmp|webp|avif)$/.test( element.getAttribute( 'href' ).toLowerCase().split( '?' )[0].split( '#' )[0] ); }, findImages: function() { var foundLinks = document.querySelectorAll( 'a[href]:not(.kt-no-lightbox):not(.custom-link):not(.kb-gallery-item-link):not(.kt-core-gallery-lightbox)' ); if ( ! foundLinks.length ) { return; } if ( foundLinks ) { for ( let i = 0; i < foundLinks.length; i++ ) { if ( kadenceThemeLightbox.checkImage( foundLinks[ i ] ) ) { foundLinks[ i ].classList.add( 'kt-lightbox' ); new SimpleLightbox({ elements: [ foundLinks[ i ] ], }); } } } }, findGalleries: function() { var foundGalleries = document.querySelectorAll( '.wp-block-gallery' ); if ( ! foundGalleries.length ) { return; } if ( foundGalleries ) { for ( let i = 0; i < foundGalleries.length; i++ ) { var foundLinks = foundGalleries[ i ].querySelectorAll( '.blocks-gallery-item a' ); if ( ! foundLinks.length ) { return; } if ( foundLinks ) { for ( let i = 0; i < foundLinks.length; i++ ) { if ( kadenceThemeLightbox.checkImage( foundLinks[ i ] ) ) { foundLinks[ i ].classList.add( 'kt-core-gallery-lightbox' ); } } } if ( foundGalleries[ i ] ) { new SimpleLightbox({ elements: foundGalleries[ i ].querySelectorAll( '.blocks-gallery-item a' ), }); } } } }, /** * Initiate the script to process all */ initAll: function() { kadenceThemeLightbox.findGalleries(); kadenceThemeLightbox.findImages(); }, // Initiate the menus when the DOM loads. init: function() { if ( typeof SimpleLightbox == 'function' ) { kadenceThemeLightbox.initAll(); } else { var initLoadDelay = setInterval( function(){ if ( typeof SimpleLightbox == 'function' ) { kadenceThemeLightbox.initAll(); clearInterval(initLoadDelay); } }, 200 ); } } } if ( 'loading' === document.readyState ) { // The DOM has not yet been loaded. document.addEventListener( 'DOMContentLoaded', kadenceThemeLightbox.init ); } else { // The DOM has already been loaded. kadenceThemeLightbox.init(); } })();
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
admin-activate.js | File | 3.75 KB | 0644 |
|
cart-update.js | File | 157 B | 0644 |
|
css-vars-ponyfill.js | File | 41.91 KB | 0644 |
|
gutenberg-notice.js | File | 649 B | 0644 |
|
ie.js | File | 1.17 KB | 0644 |
|
lightbox-init.js | File | 2.37 KB | 0644 |
|
navigation-lite.js | File | 18.54 KB | 0644 |
|
navigation.js | File | 43.36 KB | 0644 |
|
product-cls.js | File | 526 B | 0644 |
|
shop-spinner.js | File | 1.93 KB | 0644 |
|
shop-toggle.js | File | 4.91 KB | 0644 |
|
simplelightbox.js | File | 13.74 KB | 0644 |
|
slide-init.js | File | 3.64 KB | 0644 |
|
splide-init.js | File | 4.91 KB | 0644 |
|
splide.js | File | 81.98 KB | 0644 |
|
text-widgets.js | File | 11.34 KB | 0644 |
|