/** * Template Name: Moderna - v4.10.1 * Template URL: https://bootstrapmade.com/free-bootstrap-template-corporate-moderna/ * Author: BootstrapMade.com * License: https://bootstrapmade.com/license/ */ (function () { "use strict"; // Preloader /*$(window).on('load', function () { if ($('#preloader').length) { $('#preloader').delay(100).fadeOut('slow', function () { $(this).remove(); }); } });*/ /* Easy selector helper function */ const select = (el, all = false) => { el = el.trim(); if (all) { return [...document.querySelectorAll(el)]; } else { return document.querySelector(el); } }; /* Easy event listener function */ const on = (type, el, listener, all = false) => { let selectEl = select(el, all); if (selectEl) { if (all) { selectEl.forEach(e => e.addEventListener(type, listener)); } else { selectEl.addEventListener(type, listener); } } }; /* Easy on scroll event listener */ const onscroll = (el, listener) => { el.addEventListener('scroll', listener); }; /* Scrolls to an element with header offset */ const scrollto = (el) => { let header = select('#header'); let offset = header.offsetHeight; if (!header.classList.contains('header-scrolled')) { offset -= 20; } let elementPos = select(el).offsetTop; window.scrollTo({ top: elementPos - offset, behavior: 'smooth' }); }; /* Toggle .header-scrolled class to #header when page is scrolled */ let selectHeader = select('#header'); if (selectHeader) { const headerScrolled = () => { if (window.scrollY > 100) { selectHeader.classList.add('header-scrolled'); } else { selectHeader.classList.remove('header-scrolled'); } }; window.addEventListener('load', headerScrolled); onscroll(document, headerScrolled); } /* Back to top button */ let backtotop = select('.back-to-top'); if (backtotop) { const toggleBacktotop = () => { if (window.scrollY > 100) { backtotop.classList.add('active'); } else { backtotop.classList.remove('active'); } }; window.addEventListener('load', toggleBacktotop); onscroll(document, toggleBacktotop); } /* Mobile nav toggle */ on('click', '.mobile-nav-toggle', function (e) { select('#navbar').classList.toggle('navbar-mobile'); /*this.classList.toggle('bi-list') this.classList.toggle('bi-x')*/ this.classList.toggle('fa-bars'); this.classList.toggle('fa-times'); }); /* Mobile nav dropdowns activate */ on('click', '.navbar .dropdown > a', function (e) { if (select('#navbar').classList.contains('navbar-mobile')) { e.preventDefault(); this.nextElementSibling.classList.toggle('dropdown-active'); } }, true); /* Scrool with ofset on links with a class name .scrollto */ on('click', '.scrollto', function (e) { if (select(this.hash)) { e.preventDefault(); let navbar = select('#navbar'); if (navbar.classList.contains('navbar-mobile')) { navbar.classList.remove('navbar-mobile'); let navbarToggle = select('.mobile-nav-toggle'); //navbarToggle.classList.toggle('bi-list') //navbarToggle.classList.toggle('bi-x') this.classList.toggle('fa-bars'); this.classList.toggle('fa-times'); } scrollto(this.hash); } }, true); /** * Skills animation */ /*let skilsContent = select('.skills-content'); if (skilsContent) { new Waypoint({ element: skilsContent, offset: '80%', handler: function(direction) { let progress = select('.progress .progress-bar', true); progress.forEach((el) => { el.style.width = el.getAttribute('aria-valuenow') + '%' }); } }) }*/ /** * Testimonials slider */ /*new Swiper('.testimonials-carousel', { speed: 400, loop: true, autoplay: { delay: 5000, disableOnInteraction: false }, pagination: { el: '.swiper-pagination', type: 'bullets', clickable: true } }); */ /** * Porfolio isotope and filter */ /*window.addEventListener('load', () => { let portfolioContainer = select('.portfolio-container'); if (portfolioContainer) { let portfolioIsotope = new Isotope(portfolioContainer, { itemSelector: '.portfolio-wrap', layoutMode: 'fitRows' }); let portfolioFilters = select('#portfolio-flters li', true); on('click', '#portfolio-flters li', function(e) { e.preventDefault(); portfolioFilters.forEach(function(el) { el.classList.remove('filter-active'); }); this.classList.add('filter-active'); portfolioIsotope.arrange({ filter: this.getAttribute('data-filter') }); portfolioIsotope.on('arrangeComplete', function() { AOS.refresh() }); }, true); } }); */ /** * Initiate portfolio lightbox */ /*const portfolioLightbox = GLightbox({ selector: '.portfolio-lightbox' }); */ /** * Portfolio details slider */ /*new Swiper('.portfolio-details-slider', { speed: 400, autoplay: { delay: 5000, disableOnInteraction: false }, pagination: { el: '.swiper-pagination', type: 'bullets', clickable: true } }); */ /** * Animation on scroll */ /*window.addEventListener('load', () => { AOS.init({ duration: 1000, easing: "ease-in-out", once: true, mirror: false }); });*/ /** * Initiate Pure Counter */ /*new PureCounter();*/ })();