/* * Name : sub.js * Version : 1.0.0 * Product : prime05 * Author : 1px studio * Date : 2024.04.04 * Desc : - --------------------------------------------------- */ $(function() { // script break in main page if (document.getElementById("isIndex")!=null) { return; } // global variables // init navigation_init(); zoom_gallery_init(); masonry_init(); youtube_gallery_init(); // navigation active function navigation_init() { const currentURL = window.location.href; if ( !$('.breadcrumb-navbar .navbar-wrapper').length ) return false; $('.breadcrumb-navbar .navbar-wrapper > li').each(function() { let $this = $(this); if ( currentURL.indexOf($this.find('>a').attr('href')) > -1 ) { $this.find('>a').addClass('active'); } }); if (!$('.breadcrumb-navbar .navdepth-wrapper').length ) return false; $('.breadcrumb-navbar .navbar-wrapper > li').each(function() { let $this = $(this); if ( currentURL.indexOf($this.find('>a').attr('href')) > -1 ) { let a = $this.find('>a'); $('.breadcrumb-navbar .navdepth-wrapper').append('
  • '+a[0].innerText+'
  • '); } }); } function zoom_gallery_init() { $('.zoom-gallery').magnificPopup({ delegate: 'a', type: 'image', closeOnContentClick: false, closeBtnInside: false, mainClass: 'mfp-with-zoom mfp-img-mobile', image: { verticalFit: true, }, gallery: { enabled: true }, zoom: { enabled: true, duration: 300, // don't foget to change the duration also in CSS opener: function(element) { return element.find('img'); } } }); } function masonry_init() { if ( $('.masonry-group').length ) { const masonryGroup = $('.masonry-group'); masonryGroup.imagesLoaded(function() { masonryGroup.isotope({ itemSelector: '.gallery-item', columnWidth: '.grid-sizer', masonry: { gutter: 20 } }); }); $('.category-button-wrapper .button-filter').on('click', (e) => { e.preventDefault(); let $this = $(e.currentTarget); let filterValue = $this.data('filter'); $('.category-button-wrapper .button-filter').removeClass('active'); $this.addClass('active'); masonryGroup.isotope({ filter: filterValue }); }); } } function youtube_gallery_init() { const modal = $('#youtubeModal'); const videoFrame = modal.find('.youtube-wrapper>iframe'); const videoString = 'https://www.youtube.com/embed/'; $('.play-youtube').on('click', (e) => { e.preventDefault(); let $this = $(e.currentTarget); let videoID = $this.attr('href').split('v=')[1]; modal.modal('show'); videoFrame.attr('src', videoString + videoID); }); modal.on('hidden.bs.modal', () => { videoFrame.attr('src', ''); }); } });