/* ================================================== * Template: Industra * Version: 1 * Date: February 05 2021 ===================================================== */ /*==================================================*/ /* [Table of contents] */ /*==================================================*/ /* 1. PRELOADER 2. SCROLL TOP 3. COUNTER 4. MAGNIFIC POPUP GALLERY 5. YOUTUBE POPUP 6. FILTER GALLERY 7. MASONRY GALLERY 8. FAQ ACCORDION 9. ANIMATION 10. VIDEO POPUP 11. SLIDER */ /* =============================================== Functions Call =============================================== */ jQuery(document).ready(function () { "use strict"; // here all ready functions loader(); scroll_top(); magnific_popup(); accordion(); }); /* =============================================== 1. PRELOADER =============================================== */ function loader() { "use strict"; setTimeout(function () { $("#loader-wrapper").fadeOut(1000, "swing"); }, 2100); }; /* =============================================== 2. SCROLL TOP =============================================== */ function scroll_top() { "use strict"; var offset = 300, offset_opacity = 1200, scroll_top_duration = 700, $back_to_top = $('.cd-top'); $(window).scroll(function () { ($(this).scrollTop() > offset) ? $back_to_top.addClass('cd-is-visible'): $back_to_top.removeClass('cd-is-visible cd-fade-out'); if ($(this).scrollTop() > offset_opacity) { $back_to_top.addClass('cd-fade-out'); } }); $back_to_top.on('click', function (event) { event.preventDefault(); $('body,html').animate({ scrollTop: 0, }, scroll_top_duration); }); }; /* =============================================== 3. COUNTER =============================================== */ $('.counter').each(function () { var $this = $(this), countTo = $this.attr('data-count'); $({ countNum: $this.text() }).animate({ countNum: countTo }, { duration: 8000, easing: 'linear', step: function () { $this.text(Math.floor(this.countNum)); }, complete: function () { $this.text(this.countNum); //alert('finished'); } }); }); /* =============================================== 4. MAGNIFIC POPUP GALLERY =============================================== */ function magnific_popup() { $('.image-popup-vertical-fit').magnificPopup({ type: 'image', mainClass: 'mfp-with-zoom', gallery: { enabled: true }, zoom: { enabled: true, duration: 300, // duration of the effect, in milliseconds easing: 'ease-in-out', // CSS transition easing function opener: function (openerElement) { return openerElement.is('img') ? openerElement : openerElement.find('img'); } } }); }; /* =============================================== 5. YOUTUBE POPUP =============================================== */ function video_popup() { var $btnLoadMore = $( '
Load More
' ); var items = $(".youtube-popup[data-listnum]"); var count = items.length; var slice = 2; var current = 0; if (items.length > slice) { //bind load more event $btnLoadMore.on("click", function (e) { e.preventDefault(); loadMoreNews(); }); //append load more button items.closest(".salvattore-grid").after($btnLoadMore); } function getItem(listnum) { return items .filter(function (index) { if ($(this).attr("data-listnum") == listnum) { return true; } }); } function loadMoreNews() { var end = current + slice; if (end >= count) { end = count; $btnLoadMore.hide(); } while (current < end) { var listnum = current + 1; //data-listnum : 1-based var item = getItem(listnum); if (item) { item.fadeIn(); } current++; } } //youtube popup $(".popup-youtube").magnificPopup({ type: "iframe", removalDelay: 160, preloader: false, fixedContentPos: false, iframe: { markup: '
' + '
' + '' + "
", patterns: { youtube: { index: "youtube.com/", id: "v=", src: "//www.youtube.com/embed/%id%?autoplay=1&rel=0&showinfo=0" } }, srcAction: "iframe_src" } }); //init load loadMoreNews(); }; /* =============================================== 6. FILTER GALLERY =============================================== */ $(function () { var $margin = $("#kehl-grid").isotope({ itemSelector: ".grid-box", // Different transition duration transitionDuration: "0.5s" }); // on filter button click $(".filter-container li").click(function (e) { var $this = $(this); // Prevent default behaviour e.preventDefault(); $('.filter li').removeClass('active'); $this.addClass('active'); // Get the filter data attribute from the button var $filter = $this.attr("data-filter"); // filter $margin.isotope({ filter: $filter }); }); }); /* =============================================== 7. MASONRY GALLERY =============================================== */ var $grid = $('.grid').imagesLoaded(function () { $grid.masonry({ itemSelector: '.grid-box', percentPosition: true, columnWidth: '.grid-sizer' }); }); /* =============================================== 8. FAQ ACCORDION =============================================== */ function accordion() {}; $('.accordion > li:eq(0) a').addClass('active').next().slideDown(); $('.accordion a').click(function (j) { var dropDown = $(this).closest('li').find('p'); $(this).closest('.accordion').find('p').not(dropDown).slideUp(); if ($(this).hasClass('active')) { $(this).removeClass('active'); } else { $(this).closest('.accordion').find('a.active').removeClass('active'); $(this).addClass('active'); } dropDown.stop(false, true).slideToggle(); j.preventDefault(); }); (jQuery) /* =============================================== 9. ANIMATION =============================================== */ AOS.init({ duration: 1200, }) /* =============================================== 10. VIDEO POPUP =============================================== */ $('.popup-youtube, .popup-vimeo').magnificPopup({ type: 'iframe', disableOn: 700, type: 'iframe', mainClass: 'mfp-fade', removalDelay: 160, preloader: false, fixedContentPos: false, markup: '
' + '
' + '' + '
', // HTML markup of popup, `mfp-close` will be replaced by the close button iframe: { patterns: { youtube: { index: 'youtube.com/', id: 'v=', src: 'https://www.youtube.com/embed/%id%?autoplay=1' } } } }); /* =============================================== 11. CLIENT CAROUSEL =============================================== */ $('.clients-carousel .owl-carousel').owlCarousel({ stagePadding: 0, loop: true, dots: true, margin: 10, nav: true, navText: [ '', '' ], navContainer: '.clients-carousel .custom-nav', responsive: { 0: { items: 2 }, 576 : { items: 3 }, 767 : { items: 4 }, 1200: { items: 5 } } }); /* =============================================== 12. TEAM CAROUSEL =============================================== */ $('.team-carousel .owl-carousel').owlCarousel({ autoplay: false, autoplayTimeout: 2500, autoplayHoverPause: false, loop: true, dots: true, margin: 0, nav: true, center: true, navText: [ '', '' ], navContainer: '.team-carousel .custom-nav', responsive: { 0: { items: 1 }, 650: { items: 2 }, 1000: { items: 3 } } }); /* =============================================== 13. BLOG NEWS CAROUSEL =============================================== */ $('.news-carousel .owl-carousel').owlCarousel({ stagePadding: 0, loop: true, dots: true, margin: 0, nav: true, navText: [ '', '' ], navContainer: '.blog-news-carousel .custom-nav', responsive: { 0: { items: 1 }, 767: { items: 2 }, 1000: { items: 3 } } }); /* =============================================== 14. BLOG NEWS CAROUSEL =============================================== */ $('.news-carousel-alt .owl-carousel').owlCarousel({ stagePadding: 0, loop: true, dots: true, margin: 0, nav: true, navText: [ '', '' ], navContainer: '.blog-news-carousel-alt .custom-nav', responsive: { 0: { items: 1 }, 767: { items: 2 }, 800: { items: 2 } } }); /* =============================================== 15. FRONT CAROUSEL =============================================== */ $('.front-carousel .owl-carousel').owlCarousel({ autoplay:true, autoplayTimeout: 3000, autoplayHoverPause:true, stagePadding: 0, loop: true, dots: true, margin: 0, nav: true, navText: [ '', '' ], navContainer: '.front-carousel .custom-nav', responsive: { 0: { items: 1 }, 650: { items: 2 }, 1000: { items: 3 } } }); /* =============================================== 16. TESTIMONIAL CAROUSEL =============================================== */ $('.testimonials-carousel .owl-carousel').owlCarousel({ stagePadding: 0, loop: true, dots: true, margin: 0, nav: true, navText: [ '', '' ], navContainer: '.testimonials-carousel .custom-nav', responsive: { 0: { items: 1 }, 600: { items: 2 }, 991: { items: 1 } } }); /* =============================================== 17. GALLERY CAROUSEL =============================================== */ $('.solution-carousel .owl-carousel').owlCarousel({ autoplay:true, autoplayTimeout: 3500, autoplayHoverPause:false, stagePadding: 0, loop: true, dots: true, margin: 0, nav: true, animateIn: 'fadeIn', animateOut: 'fadeOut', navText: [ '', '' ], navContainer: '.gallery-carousel .custom-nav', responsive: { 100: { items: 1 } } }); /* =============================================== 18. PROJECTS CAROUSEL =============================================== */ $('.project-carousel .owl-carousel').owlCarousel({ stagePadding: 0, loop: true, dots: true, margin: 10, nav: true, navText: [ '', '' ], navContainer: '.project-carousel .custom-nav', responsive: { 0: { items: 1 }, 767 : { items: 2 }, 1200: { items: 3 } } }); /* =============================================== 19. FRONT CAROUSEL =============================================== */ $('.testimonial-carousel .owl-carousel').owlCarousel({ stagePadding: 0, loop: true, dots: true, margin: 0, nav: true, navText: [ '', '' ], navContainer: '.testimonial-carousel .custom-nav', responsive: { 0: { items: 1 }, 767: { items: 1 }, 1000: { items: 1 } } }); /* =============================================== 20. FRONT CAROUSEL =============================================== */ $('.activities-carousel .owl-carousel').owlCarousel({ stagePadding: 0, loop: true, dots: true, margin: 0, nav: true, autoplay:false, autoplayTimeout: 2500, autoplayHoverPause:false, center: true, navText: [ '', '' ], navContainer: '.testimonial-carousel .custom-nav', responsive: { 0: { items: 1 }, 767: { items: 2 }, 1000: { items: 3 } } }); /* =============================================== 21. FRONT CAROUSEL =============================================== */ $('.team-carousel .owl-carousel').owlCarousel({ stagePadding: 0, loop: true, dots: true, margin: 0, nav: true, navText: [ '', '' ], navContainer: '.thumb-carousel .custom-nav', responsive: { 0: { items: 1 }, 767: { items: 2 }, 1000: { items: 3 } } }); /* =============================================== 22. FRONT CAROUSEL =============================================== */ $('.thumb-carousel .owl-carousel').owlCarousel({ stagePadding: 0, loop: true, dots: true, margin: 0, nav: true, autoplay:false, autoplayTimeout: 2500, autoplayHoverPause:false, center: true, navText: [ '', '' ], navContainer: '.thumb-carousel .custom-nav', responsive: { 0: { items: 1 }, 525: { items: 2 }, 991: { items: 3 }, 1400: { items: 5 } } });