(function($) {
"use strict";
// Preloader
$(window).on("load", () => {
$("#preloader").fadeOut(500);
});
$(document).ready(function($) {
// Modal Video
$(".video-play").modalVideo({
channel: "youtube",
});
// Modal Video
$('.menu li.menu-item-has-children>a').on('click', function(){
$(this).removeAttr('href');
var element = $(this).parent('li');
if (element.hasClass('open')) {
element.removeClass('open');
element.find('li').removeClass('open');
element.find('ul').slideUp();
}
else {
element.addClass('open');
element.children('ul').slideDown();
element.siblings('li').children('ul').slideUp();
element.siblings('li').removeClass('open');
element.siblings('li').find('li').removeClass('open');
element.siblings('li').find('ul').slideUp();
}
});
$('.menu>ul>li.menu-item-has-children>a').append('');
// Youtube Video
$(".yt__play").modalVideo({
channel: "youtube",
});
// Custom Youtube Video Link Publisher
$('.yt__play').on('click', function() {
var videoId = $(this).data('video-id');
$('#player').html('');
});
// Sticky Menu two
$(window).scroll(function() {
try {
var window_top = $(window).scrollTop() + 1;
var header = $(".PrimaryMenu");
if (window_top > 200) {
header.addClass("menu_fixed animate__animated animate__fadeIn");
} else {
header.removeClass("menu_fixed animate__animated animate__fadeIn");
}
} catch (error) {
console.error("An error occurred while handling scroll:", error);
}
});
// Sticky Menu Three
$(window).scroll(function() {
try {
var window_top = $(window).scrollTop() + 1;
var header = $(".PrimaryMenu");
if (window_top > 200) {
header.addClass("menu_fixed animate__animated animate__fadeIn");
header.removeClass("transparent");
} else {
header.removeClass("menu_fixed animate__animated animate__fadeIn");
}
} catch (error) {
console.error("An error occurred while handling scroll:", error);
}
});
// Sticky Menu
$(window).scroll(function () {
try {
var window_top = $(window).scrollTop() + 1;
var header = $(".header");
if (window_top > 200) {
header.addClass("header_fixed animate__animated animate__fadeIn");
} else {
header.removeClass("header_fixed animate__animated animate__fadeIn");
}
} catch (error) {
console.error("An error occurred while handling scroll:", error);
}
});
// Delete Cart item
try {
function handleDeleteClick(event) {
const row = event.target.closest("tr");
if (row) {
row.remove();
}
}
const deleteIcons = document.querySelectorAll(".cart__delete");
deleteIcons.forEach((icon) => {
icon.addEventListener("click", handleDeleteClick);
});
} catch (error) {
console.log("Table Delete only enable for cart Page");
}
// Progress bar
try {
const progressBars = document.querySelectorAll(".progress-bar");
progressBars.forEach((progressBar) => {
const ariaValuenow = progressBar.getAttribute("aria-valuenow");
progressBar.style.width = `${ariaValuenow}%`;
});
} catch (error) {
console.log("progress bar not enable this page");
}
// Nice Select js
try {
$("select").niceSelect();
} catch (error) {
console.log("Nice select not enable this page");
}
// Mobile Device Animation.
const scrollAnimations = sal();
function isMobileDevice() {
return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
}
if (isMobileDevice()) {
scrollAnimations.disable();
}
sal({
threshold: 1,
once: false,
});
// Offcanvase Menu
$(".offcanvase__menu--close-icon, .offcanvas__overlay").on(
"click",
function() {
$(".offcanvase").removeClass("info-open");
$(".offcanvas__overlay").removeClass("overlay-open");
}
);
$(".menu-icon").on("click", function() {
$(".offcanvase").addClass("info-open");
$(".offcanvas__overlay").addClass("overlay-open");
});
// Mobile Menu
try {
$("#offcanvase__menu").meanmenu({
meanMenuContainer: ".offcanvase-menu",
meanScreenWidth: "767",
meanExpand: ["+"],
});
} catch (error) {
console.log("Mobile Menu Not loaded");
}
// Accordion Active
$('.accordion-item').on('click', function() {
$('.accordion-item').removeClass('active');
$(this).addClass('active');
});
// Progress Bar
const progressBars = document.querySelectorAll(".progress-bar");
progressBars.forEach((progressBar) => {
const ariaValuenow = progressBar.getAttribute("aria-valuenow");
progressBar.style.width = `${ariaValuenow}%`;
});
});
// Tab Js
$('.tab__button').on('click', function(){
const tabId = $(this).data("tab");
$(".tab__button").removeClass("active");
$(this).addClass("active");
$(".tab__content").removeClass("open").hide();
$("#" + tabId)
.addClass("open")
.show();
});
$('.tab__button[data-tab="tab1"]').trigger('click');
// Button Scroll Top Js
var scrollPath = document.querySelector(".scroll path");
var pathLength = scrollPath.getTotalLength();
scrollPath.style.transition = scrollPath.style.WebkitTransition = "none";
scrollPath.style.strokeDasharray = pathLength + " " + pathLength;
scrollPath.style.strokeDashoffset = pathLength;
scrollPath.getBoundingClientRect();
scrollPath.style.transition = scrollPath.style.WebkitTransition =
"stroke-dashoffset 10ms linear";
var updatescroll = function() {
var scroll = $(window).scrollTop();
var height = $(document).height() - $(window).height();
var scroll = pathLength - (scroll * pathLength) / height;
scrollPath.style.strokeDashoffset = scroll;
};
updatescroll();
$(window).scroll(updatescroll);
var offset = 50;
var duration = 950;
jQuery(window).on("scroll", function() {
if (jQuery(this).scrollTop() > offset) {
jQuery(".scroll").addClass("active-scroll");
} else {
jQuery(".scroll").removeClass("active-scroll");
}
});
jQuery(".scroll").on("click", function(event) {
event.preventDefault();
jQuery("html, body").animate({
scrollTop: 0,
},
duration
);
return false;
});
// Start Elementor JS Support
$(window).on('elementor/frontend/init', function() {
elementorFrontend.hooks.addAction('frontend/element_ready/global', function($scope) {
// Header Slider
try {
$(".slider__wrapper").slick({
autoplay: false,
dots: true,
pauseOnHover: false,
slidesToShow: 1,
arrows: false,
});
} catch (error) {
console.log("This slider only enable for homepage.");
}
// Testimonial Slider
try {
$(".testimonial-slider").slick({
autoplay: false,
dots: true,
pauseOnHover: false,
slidesToShow: 1,
arrows: false,
responsive: [
{
breakpoint: 991,
settings: {
dots: false,
},
},
],
});
} catch (error) {
console.log("This slider is not for this page");
}
// Testimonial Slider
new Swiper(".testimonial .slider", {
slidesPerView: 1,
spaceBetween: 30,
loop: true,
dots: true,
speed: 1000,
autoplay: {
delay: 5000,
disableOnInteraction: false,
},
pagination: {
el: ".pagination__dots",
clickable: true,
},
on: {
init: function() {
$(".animated__line").removeClass("animated");
$(".animated__line").removeClass("active");
$(".animated__line").eq(0).addClass("animated");
$(".animated__line").eq(0).addClass("active");
},
slideChangeTransitionStart: function() {
$(".animated__line").removeClass("animated");
$(".animated__line").removeClass("active");
$(".animated__line").eq(0).addClass("active");
},
slideChangeTransitionEnd: function() {
$(".animated__line").eq(0).addClass("animated");
},
},
});
// Client Testimonial Slider Three
new Swiper(".clientTestimonial__slider", {
slidesPerView: 1,
loop: true,
speed: 1000,
grabCursor: true,
spaceBetween: 30,
autoplay: {
delay: 1000,
disableOnInteraction: false,
pauseOnMouseEnter: true,
},
navigation: {
nextEl: ".btn__next",
prevEl: ".btn__prev",
},
});
// Sponsor Slider Home Three
new Swiper(".sponsor__slider", {
slidesPerView: 5,
spaceBetween: 50,
loop: true,
speed: 1000,
freeMode: true,
autoplay: {
delay: 1000,
disableOnInteraction: false,
},
breakpoints: {
1024: {
slidesPerView: 5,
},
767: {
slidesPerView: 4,
},
575: {
slidesPerView: 3,
},
320: {
slidesPerView: 2,
},
},
});
// Blog Slider Three
new Swiper(".blog__slider", {
slidesPerView: 2,
loop: true,
speed: 1000,
spaceBetween: 30,
autoplay: {
delay: 1000,
disableOnInteraction: false,
pauseOnMouseEnter: true,
},
navigation: {
nextEl: ".btn__next-Slider",
prevEl: ".btn__prev-Slider",
},
breakpoints: {
991: {
slidesPerView: 2,
},
767: {
slidesPerView: 2,
},
575: {
slidesPerView: 1,
},
320: {
slidesPerView: 1,
}
}
});
// Blog Slider Three
new Swiper(".blog-slider", {
slidesPerView: 2,
loop: true,
speed: 1000,
spaceBetween: 30,
autoplay: {
delay: 1000,
disableOnInteraction: false,
pauseOnMouseEnter: true,
},
navigation: {
nextEl: ".blog-button-next",
prevEl: ".blog-button-prev",
},
breakpoints: {
991: {
slidesPerView: 2,
},
767: {
slidesPerView: 2,
},
575: {
slidesPerView: 1,
},
320: {
slidesPerView: 1,
}
}
});
// Service Two Slider
new Swiper(".service__slider", {
slidesPerView: 3,
spaceBetween: 40,
loop: true,
speed: 5000,
centeredSlides: true,
autoplay: {
delay: 2500,
disableOnInteraction: false,
},
pagination: {
el: ".slider-pagination",
clickable: true,
},
breakpoints: {
1024: {
slidesPerView: 3,
},
767: {
slidesPerView: 2,
centeredSlides: false,
},
575: {
slidesPerView: 1,
},
320: {
slidesPerView: 1,
},
},
});
// Testimonial slider three
new Swiper(".testimonial__slider", {
slidesPerView: 1,
loop: true,
speed: 5000,
grabCursor: true,
autoplay: {
delay: 5000,
disableOnInteraction: false,
pauseOnMouseEnter: true,
},
pagination: {
el: ".testimonial__dot",
clickable: true,
},
});
// Home 4 Testimonial Slider
new Swiper(".testimonial__active", {
slidesPerView: 2,
spaceBetween: 30,
loop: false,
speed: 1000,
autoplay: {
delay: 1000,
disableOnInteraction: false,
},
navigation: {
nextEl: ".btn__next",
prevEl: ".btn__prev",
},
breakpoints:{
991:{
slidesPerView: 2,
},
767:{
slidesPerView: 1,
},
320:{
slidesPerView: 1,
}
}
});
// Team Swiper JS
var SwiperTraveler = new Swiper(".team-slider", {
loop: true,
spaceBetween: 25,
autoplay: {
delay: 5000,
disableOnInteraction: false,
},
navigation: {
nextEl: ".team-button-next",
prevEl: ".team-button-prev",
},
breakpoints: {
0: {
slidesPerView: 1
},
768: {
slidesPerView: 2
},
992: {
slidesPerView: 3
},
1200: {
slidesPerView: 4
},
}
});
// Testimonial Swiper JS
var SwiperTraveler = new Swiper(".testimonials-slider", {
loop: true,
spaceBetween: 25,
autoplay: {
delay: 5000,
disableOnInteraction: false,
},
navigation: {
nextEl: ".testimonial-button-next",
prevEl: ".testimonial-button-prev",
},
breakpoints: {
0: {
slidesPerView: 1
},
768: {
slidesPerView: 2
},
992: {
slidesPerView: 2
},
1200: {
slidesPerView: 3
},
}
});
// Client Testimonial Slider Three
new Swiper(".clientTestimonial__slider", {
slidesPerView: 1,
loop: true,
speed: 1000,
grabCursor: true,
spaceBetween: 30,
autoplay: {
delay: 1000,
disableOnInteraction: false,
pauseOnMouseEnter: true,
},
navigation: {
nextEl: ".btn__next",
prevEl: ".btn__prev",
},
});
// Home 3 Hero Slider
new Swiper(".heroSlider__active", {
slidesPerView: 3,
spaceBetween: 30,
loop: false,
speed: 1000,
autoplay: {
delay: 1000,
disableOnInteraction: false,
pauseOnMouseEnter: true,
},
pagination: {
el: ".heroSlider__pagination",
clickable: true,
},
breakpoints: {
991: {
slidesPerView: 3,
},
767: {
slidesPerView: 2,
},
320: {
slidesPerView: 1,
}
}
});
// Home 4 Testimonial Slider
new Swiper(".testimonial__active", {
slidesPerView: 2,
spaceBetween: 30,
loop: false,
speed: 1000,
autoplay: {
delay: 1000,
disableOnInteraction: false,
},
navigation: {
nextEl: ".btn__next",
prevEl: ".btn__prev",
},
breakpoints: {
991: {
slidesPerView: 2,
},
767: {
slidesPerView: 1,
},
320: {
slidesPerView: 1,
}
}
});
// Accordion Style
document.addEventListener("DOMContentLoaded", function() {
var accordionHeaders = document.querySelectorAll(".accordion-header");
accordionHeaders.forEach(function(header, index) {
header.addEventListener("click", function() {
var accordionItems = document.querySelectorAll(".accordion-item");
accordionItems.forEach(function(item) {
item.classList.remove("active");
});
var clickedItem = document.querySelectorAll(".accordion-item")[index];
clickedItem.classList.add("active");
});
});
});
// Testimonial Slider
$(".testimonial-slider").slick({
autoplay: false,
dots: true,
pauseOnHover: false,
slidesToShow: 1,
arrows: false,
responsive: [{
breakpoint: 991,
settings: {
dots: false,
},
}, ],
});
// Team Swiper JS
var SwiperTraveler = new Swiper(".portfolio-slider", {
loop: true,
spaceBetween: 25,
autoplay: {
delay: 5000,
disableOnInteraction: false,
},
pagination: {
el: '.swiper-pagination',
type: 'progressbar',
},
on: {
init: function () {
$(".animated__line").removeClass("animated");
$(".animated__line").removeClass("active");
$(".animated__line").eq(0).addClass("animated");
$(".animated__line").eq(0).addClass("active");
},
slideChangeTransitionStart: function () {
$(".animated__line").removeClass("animated");
$(".animated__line").removeClass("active");
$(".animated__line").eq(0).addClass("active");
},
slideChangeTransitionEnd: function () {
$(".animated__line").eq(0).addClass("animated");
},
},
breakpoints: {
0: {
slidesPerView: 1
},
768: {
slidesPerView: 2
},
992: {
slidesPerView: 3
},
1200: {
slidesPerView: 4
},
}
});
});
});
})(jQuery);