-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
ca469de
commit f959b71
Showing
12 changed files
with
12,142 additions
and
2,260 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,185 @@ | ||
|
||
(function(){"use strict";function toggleScrolled(){const selectBody=document.querySelector('body');const selectHeader=document.querySelector('#header');if(!selectHeader.classList.contains('scroll-up-sticky')&&!selectHeader.classList.contains('sticky-top')&&!selectHeader.classList.contains('fixed-top'))return;window.scrollY>100?selectBody.classList.add('scrolled'):selectBody.classList.remove('scrolled');} | ||
document.addEventListener('scroll',toggleScrolled);window.addEventListener('load',toggleScrolled);const mobileNavToggleBtn=document.querySelector('.mobile-nav-toggle');function mobileNavToogle(){document.querySelector('body').classList.toggle('mobile-nav-active');mobileNavToggleBtn.classList.toggle('bi-list');mobileNavToggleBtn.classList.toggle('bi-x');} | ||
mobileNavToggleBtn.addEventListener('click',mobileNavToogle);document.querySelectorAll('#navmenu a').forEach(navmenu=>{navmenu.addEventListener('click',()=>{if(document.querySelector('.mobile-nav-active')){mobileNavToogle();}});});document.querySelectorAll('.navmenu .toggle-dropdown').forEach(navmenu=>{navmenu.addEventListener('click',function(e){e.preventDefault();this.parentNode.classList.toggle('active');this.parentNode.nextElementSibling.classList.toggle('dropdown-active');e.stopImmediatePropagation();});});const preloader=document.querySelector('#preloader');if(preloader){window.addEventListener('load',()=>{preloader.remove();});} | ||
let scrollTop=document.querySelector('.scroll-top');function toggleScrollTop(){if(scrollTop){window.scrollY>100?scrollTop.classList.add('active'):scrollTop.classList.remove('active');}} | ||
scrollTop.addEventListener('click',(e)=>{e.preventDefault();window.scrollTo({top:0,behavior:'smooth'});});window.addEventListener('load',toggleScrollTop);document.addEventListener('scroll',toggleScrollTop);function aosInit(){AOS.init({duration:600,easing:'ease-in-out',once:true,mirror:false});} | ||
window.addEventListener('load',aosInit);const glightbox=GLightbox({selector:'.glightbox'});new PureCounter();function initSwiper(){document.querySelectorAll(".init-swiper").forEach(function(swiperElement){let config=JSON.parse(swiperElement.querySelector(".swiper-config").innerHTML.trim());if(swiperElement.classList.contains("swiper-tab")){initSwiperWithCustomPagination(swiperElement,config);}else{new Swiper(swiperElement,config);}});} | ||
window.addEventListener("load",initSwiper);document.querySelectorAll('.faq-item h3, .faq-item .faq-toggle').forEach((faqItem)=>{faqItem.addEventListener('click',()=>{faqItem.parentNode.classList.toggle('faq-active');});});window.addEventListener('load',function(e){if(window.location.hash){if(document.querySelector(window.location.hash)){setTimeout(()=>{let section=document.querySelector(window.location.hash);let scrollMarginTop=getComputedStyle(section).scrollMarginTop;window.scrollTo({top:section.offsetTop-parseInt(scrollMarginTop),behavior:'smooth'});},100);}}});let navmenulinks=document.querySelectorAll('.navmenu a');function navmenuScrollspy(){navmenulinks.forEach(navmenulink=>{if(!navmenulink.hash)return;let section=document.querySelector(navmenulink.hash);if(!section)return;let position=window.scrollY+200;if(position>=section.offsetTop&&position<=(section.offsetTop+section.offsetHeight)){document.querySelectorAll('.navmenu a.active').forEach(link=>link.classList.remove('active'));navmenulink.classList.add('active');}else{navmenulink.classList.remove('active');}})} | ||
window.addEventListener('load',navmenuScrollspy);document.addEventListener('scroll',navmenuScrollspy);})(); | ||
/** | ||
* Template Name: Bootslander | ||
* Template URL: https://bootstrapmade.com/bootslander-free-bootstrap-landing-page-template/ | ||
* Updated: Aug 01 2024 with Bootstrap v5.3.3 | ||
* Author: BootstrapMade.com | ||
* License: https://bootstrapmade.com/license/ | ||
*/ | ||
|
||
(function() { | ||
"use strict"; | ||
|
||
/** | ||
* Apply .scrolled class to the body as the page is scrolled down | ||
*/ | ||
function toggleScrolled() { | ||
const selectBody = document.querySelector('body'); | ||
const selectHeader = document.querySelector('#header'); | ||
if (!selectHeader.classList.contains('scroll-up-sticky') && !selectHeader.classList.contains('sticky-top') && !selectHeader.classList.contains('fixed-top')) return; | ||
window.scrollY > 100 ? selectBody.classList.add('scrolled') : selectBody.classList.remove('scrolled'); | ||
} | ||
|
||
document.addEventListener('scroll', toggleScrolled); | ||
window.addEventListener('load', toggleScrolled); | ||
|
||
/** | ||
* Mobile nav toggle | ||
*/ | ||
const mobileNavToggleBtn = document.querySelector('.mobile-nav-toggle'); | ||
|
||
function mobileNavToogle() { | ||
document.querySelector('body').classList.toggle('mobile-nav-active'); | ||
mobileNavToggleBtn.classList.toggle('bi-list'); | ||
mobileNavToggleBtn.classList.toggle('bi-x'); | ||
} | ||
mobileNavToggleBtn.addEventListener('click', mobileNavToogle); | ||
|
||
/** | ||
* Hide mobile nav on same-page/hash links | ||
*/ | ||
document.querySelectorAll('#navmenu a').forEach(navmenu => { | ||
navmenu.addEventListener('click', () => { | ||
if (document.querySelector('.mobile-nav-active')) { | ||
mobileNavToogle(); | ||
} | ||
}); | ||
|
||
}); | ||
|
||
/** | ||
* Toggle mobile nav dropdowns | ||
*/ | ||
document.querySelectorAll('.navmenu .toggle-dropdown').forEach(navmenu => { | ||
navmenu.addEventListener('click', function(e) { | ||
e.preventDefault(); | ||
this.parentNode.classList.toggle('active'); | ||
this.parentNode.nextElementSibling.classList.toggle('dropdown-active'); | ||
e.stopImmediatePropagation(); | ||
}); | ||
}); | ||
|
||
/** | ||
* Preloader | ||
*/ | ||
const preloader = document.querySelector('#preloader'); | ||
if (preloader) { | ||
window.addEventListener('load', () => { | ||
preloader.remove(); | ||
}); | ||
} | ||
|
||
/** | ||
* Scroll top button | ||
*/ | ||
let scrollTop = document.querySelector('.scroll-top'); | ||
|
||
function toggleScrollTop() { | ||
if (scrollTop) { | ||
window.scrollY > 100 ? scrollTop.classList.add('active') : scrollTop.classList.remove('active'); | ||
} | ||
} | ||
scrollTop.addEventListener('click', (e) => { | ||
e.preventDefault(); | ||
window.scrollTo({ | ||
top: 0, | ||
behavior: 'smooth' | ||
}); | ||
}); | ||
|
||
window.addEventListener('load', toggleScrollTop); | ||
document.addEventListener('scroll', toggleScrollTop); | ||
|
||
/** | ||
* Animation on scroll function and init | ||
*/ | ||
function aosInit() { | ||
AOS.init({ | ||
duration: 600, | ||
easing: 'ease-in-out', | ||
once: true, | ||
mirror: false | ||
}); | ||
} | ||
window.addEventListener('load', aosInit); | ||
|
||
/** | ||
* Initiate glightbox | ||
*/ | ||
const glightbox = GLightbox({ | ||
selector: '.glightbox' | ||
}); | ||
|
||
/** | ||
* Initiate Pure Counter | ||
*/ | ||
new PureCounter(); | ||
|
||
/** | ||
* Init swiper sliders | ||
*/ | ||
function initSwiper() { | ||
document.querySelectorAll(".init-swiper").forEach(function(swiperElement) { | ||
let config = JSON.parse( | ||
swiperElement.querySelector(".swiper-config").innerHTML.trim() | ||
); | ||
|
||
if (swiperElement.classList.contains("swiper-tab")) { | ||
initSwiperWithCustomPagination(swiperElement, config); | ||
} else { | ||
new Swiper(swiperElement, config); | ||
} | ||
}); | ||
} | ||
|
||
window.addEventListener("load", initSwiper); | ||
|
||
/** | ||
* Frequently Asked Questions Toggle | ||
*/ | ||
document.querySelectorAll('.faq-item h3, .faq-item .faq-toggle').forEach((faqItem) => { | ||
faqItem.addEventListener('click', () => { | ||
faqItem.parentNode.classList.toggle('faq-active'); | ||
}); | ||
}); | ||
|
||
/** | ||
* Correct scrolling position upon page load for URLs containing hash links. | ||
*/ | ||
window.addEventListener('load', function(e) { | ||
if (window.location.hash) { | ||
if (document.querySelector(window.location.hash)) { | ||
setTimeout(() => { | ||
let section = document.querySelector(window.location.hash); | ||
let scrollMarginTop = getComputedStyle(section).scrollMarginTop; | ||
window.scrollTo({ | ||
top: section.offsetTop - parseInt(scrollMarginTop), | ||
behavior: 'smooth' | ||
}); | ||
}, 100); | ||
} | ||
} | ||
}); | ||
|
||
/** | ||
* Navmenu Scrollspy | ||
*/ | ||
let navmenulinks = document.querySelectorAll('.navmenu a'); | ||
|
||
function navmenuScrollspy() { | ||
navmenulinks.forEach(navmenulink => { | ||
if (!navmenulink.hash) return; | ||
let section = document.querySelector(navmenulink.hash); | ||
if (!section) return; | ||
let position = window.scrollY + 200; | ||
if (position >= section.offsetTop && position <= (section.offsetTop + section.offsetHeight)) { | ||
document.querySelectorAll('.navmenu a.active').forEach(link => link.classList.remove('active')); | ||
navmenulink.classList.add('active'); | ||
} else { | ||
navmenulink.classList.remove('active'); | ||
} | ||
}) | ||
} | ||
window.addEventListener('load', navmenuScrollspy); | ||
document.addEventListener('scroll', navmenuScrollspy); | ||
|
||
})(); |
Oops, something went wrong.