(function ($) { "use strict"; /*================================= JS Index Here ==================================*/ /* 01. On Load Function 02. Preloader 03. Mobile Menu Active 04. Sticky fix 05. Scroll To Top 06. Set Background Image Color & Mask 07. Global Slider 08. Custom Animaiton For Slider 09. Ajax Contact Form 10. Search Box Popup 11. Popup Sidemenu 12. Magnific Popup 13. Section Position 14. Filter 15. Counter Up 16. AS Tab 17. Shape Mockup 18. Progress Bar Animation 19. Price Slider 20. Tilt Active 21. Indicator 22. Circle Progress 00. Woocommerce Toggle 00. Right Click Disable */ /*================================= JS Index End ==================================*/ /* /*---------- 01. On Load Function ----------*/ $(window).on("load", function () { $(".preloader").fadeOut(); }); /*---------- 02. Preloader ----------*/ if ($(".preloader").length > 0) { $(".preloaderCls").each(function () { $(this).on("click", function (e) { e.preventDefault(); $(".preloader").css("display", "none"); }); }); } /*---------- 03. Mobile Menu Active ----------*/ $.fn.thmobilemenu = function (options) { var opt = $.extend( { menuToggleBtn: ".th-menu-toggle", bodyToggleClass: "th-body-visible", subMenuClass: "th-submenu", subMenuParent: "th-item-has-children", subMenuParentToggle: "th-active", meanExpandClass: "th-mean-expand", appendElement: '', subMenuToggleClass: "th-open", toggleSpeed: 400, }, options ); return this.each(function () { var menu = $(this); // Select menu // Menu Show & Hide function menuToggle() { menu.toggleClass(opt.bodyToggleClass); // collapse submenu on menu hide or show var subMenu = "." + opt.subMenuClass; $(subMenu).each(function () { if ($(this).hasClass(opt.subMenuToggleClass)) { $(this).removeClass(opt.subMenuToggleClass); $(this).css("display", "none"); $(this).parent().removeClass(opt.subMenuParentToggle); } }); } // Class Set Up for every submenu menu.find("li").each(function () { var submenu = $(this).find("ul"); submenu.addClass(opt.subMenuClass); submenu.css("display", "none"); submenu.parent().addClass(opt.subMenuParent); submenu.prev("a").append(opt.appendElement); submenu.next("a").append(opt.appendElement); }); // Toggle Submenu function toggleDropDown($element) { if ($($element).next("ul").length > 0) { $($element).parent().toggleClass(opt.subMenuParentToggle); $($element).next("ul").slideToggle(opt.toggleSpeed); $($element).next("ul").toggleClass(opt.subMenuToggleClass); } else if ($($element).prev("ul").length > 0) { $($element).parent().toggleClass(opt.subMenuParentToggle); $($element).prev("ul").slideToggle(opt.toggleSpeed); $($element).prev("ul").toggleClass(opt.subMenuToggleClass); } } // Submenu toggle Button var expandToggler = "." + opt.meanExpandClass; $(expandToggler).each(function () { $(this).on("click", function (e) { e.preventDefault(); toggleDropDown($(this).parent()); }); }); // Menu Show & Hide On Toggle Btn click $(opt.menuToggleBtn).each(function () { $(this).on("click", function () { menuToggle(); }); }); // Hide Menu On out side click menu.on("click", function (e) { e.stopPropagation(); menuToggle(); }); // Stop Hide full menu on menu click menu.find("div").on("click", function (e) { e.stopPropagation(); }); }); }; $(".th-menu-wrapper").thmobilemenu(); /*---------- 04. Sticky fix ----------*/ $(window).scroll(function () { var topPos = $(this).scrollTop(); if (topPos > 500) { $('.sticky-wrapper').addClass('sticky'); } else { $('.sticky-wrapper').removeClass('sticky') } }) /*----------- 04.1. One Page Nav ----------*/ function onePageNav(element) { if ($(element).length > 0) { $(element).each(function () { var link = $(this).find('a'); $(this).find(link).each(function () { $(this).on('click', function () { var target = $(this.getAttribute('href')); if (target.length) { event.preventDefault(); $('html, body').stop().animate({ scrollTop: target.offset().top - 10 }, 1000); }; }); }); }) } }; onePageNav('.onepage-nav'); onePageNav('.scroll-down'); /*---------- 05. Scroll To Top ----------*/ // progressAvtivation if($('.scroll-top')) { var scrollTopbtn = document.querySelector('.scroll-top'); var progressPath = document.querySelector('.scroll-top path'); var pathLength = progressPath.getTotalLength(); progressPath.style.transition = progressPath.style.WebkitTransition = 'none'; progressPath.style.strokeDasharray = pathLength + ' ' + pathLength; progressPath.style.strokeDashoffset = pathLength; progressPath.getBoundingClientRect(); progressPath.style.transition = progressPath.style.WebkitTransition = 'stroke-dashoffset 10ms linear'; var updateProgress = function () { var scroll = $(window).scrollTop(); var height = $(document).height() - $(window).height(); var progress = pathLength - (scroll * pathLength / height); progressPath.style.strokeDashoffset = progress; } updateProgress(); $(window).scroll(updateProgress); var offset = 50; var duration = 750; jQuery(window).on('scroll', function() { if (jQuery(this).scrollTop() > offset) { jQuery(scrollTopbtn).addClass('show'); } else { jQuery(scrollTopbtn).removeClass('show'); } }); jQuery(scrollTopbtn).on('click', function(event) { event.preventDefault(); jQuery('html, body').animate({scrollTop: 0}, duration); return false; }) } /*---------- 06. Set Background Image Color & Mask ----------*/ if ($("[data-bg-src]").length > 0) { $("[data-bg-src]").each(function () { var src = $(this).attr("data-bg-src"); $(this).css("background-image", "url(" + src + ")"); $(this).removeAttr("data-bg-src").addClass("background-image"); }); } if ($('[data-bg-color]').length > 0) { $('[data-bg-color]').each(function () { var color = $(this).attr('data-bg-color'); $(this).css('background-color', color); $(this).removeAttr('data-bg-color'); }); }; $('[data-border]').each(function() { var borderColor = $(this).data('border'); $(this).css('--th-border-color', borderColor); }); if ($('[data-mask-src]').length > 0) { $('[data-mask-src]').each(function () { var mask = $(this).attr('data-mask-src'); $(this).css({ 'mask-image': 'url(' + mask + ')', '-webkit-mask-image': 'url(' + mask + ')' }); $(this).addClass('bg-mask'); $(this).removeAttr('data-mask-src'); }); }; /*----------- 07. Global Slider ----------*/ $('.th-slider').each(function () { var thSlider = $(this); var settings = $(this).data('slider-options'); // Store references to the navigation Slider var prevArrow = thSlider.find('.slider-prev'); var nextArrow = thSlider.find('.slider-next'); var paginationEl = thSlider.find('.slider-pagination'); var autoplayconditon = settings['autoplay']; var sliderDefault = { slidesPerView: 1, spaceBetween: settings['spaceBetween'] ? settings['spaceBetween'] : 24, loop: settings['loop'] == false ? false : true, speed: settings['speed'] ? settings['speed'] : 1000, autoplay: autoplayconditon ? autoplayconditon : {delay: 6000, disableOnInteraction: false}, navigation: { nextEl: nextArrow.get(0), prevEl: prevArrow.get(0), }, pagination: { el: paginationEl.get(0), clickable: true, renderBullet: function (index, className) { return ''; }, }, }; var options = JSON.parse(thSlider.attr('data-slider-options')); options = $.extend({}, sliderDefault, options); var swiper = new Swiper(thSlider.get(0), options); // Assign the swiper variable if ($('.slider-area').length > 0) { $('.slider-area').closest(".container").parent().addClass("arrow-wrap"); } }); // Function to add animation classes function animationProperties() { $('[data-ani]').each(function () { var animationName = $(this).data('ani'); $(this).addClass(animationName); }); $('[data-ani-delay]').each(function () { var delayTime = $(this).data('ani-delay'); $(this).css('animation-delay', delayTime); }); } animationProperties(); // Add click event handlers for external slider arrows based on data attributes $('[data-slider-prev], [data-slider-next]').on('click', function () { var sliderSelector = $(this).data('slider-prev') || $(this).data('slider-next'); var targetSlider = $(sliderSelector); if (targetSlider.length) { var swiper = targetSlider[0].swiper; if (swiper) { if ($(this).data('slider-prev')) { swiper.slidePrev(); } else { swiper.slideNext(); } } } }); /*-------------- 08. Slider Tab -------------*/ $.fn.activateSliderThumbs = function (options) { var opt = $.extend( { sliderTab: false, tabButton: ".tab-btn", }, options ); return this.each(function () { var $container = $(this); var $thumbs = $container.find(opt.tabButton); var $line = $('').appendTo($container); var sliderSelector = $container.data("slider-tab"); var $slider = $(sliderSelector); var swiper = $slider[0].swiper; $thumbs.on("click", function (e) { e.preventDefault(); var clickedThumb = $(this); clickedThumb.addClass("active").siblings().removeClass("active"); linePos(clickedThumb, $container); if (opt.sliderTab) { var slideIndex = clickedThumb.index(); swiper.slideTo(slideIndex); } }); if (opt.sliderTab) { swiper.on("slideChange", function () { var activeIndex = swiper.realIndex; var $activeThumb = $thumbs.eq(activeIndex); $activeThumb.addClass("active").siblings().removeClass("active"); linePos($activeThumb, $container); }); var initialSlideIndex = swiper.activeIndex; var $initialThumb = $thumbs.eq(initialSlideIndex); $initialThumb.addClass("active").siblings().removeClass("active"); linePos($initialThumb, $container); } function linePos($activeThumb) { var thumbOffset = $activeThumb.position(); var marginTop = parseInt($activeThumb.css('margin-top')) || 0; var marginLeft = parseInt($activeThumb.css('margin-left')) || 0; $line.css("--height-set", $activeThumb.outerHeight() + "px"); $line.css("--width-set", $activeThumb.outerWidth() + "px"); $line.css("--pos-y", thumbOffset.top + marginTop + "px"); $line.css("--pos-x", thumbOffset.left + marginLeft + "px"); } }); }; if ($(".testi-thumb").length) { $(".testi-thumb").activateSliderThumbs({ sliderTab: true, tabButton: ".tab-btn", }); } /*----------- 09. Ajax Contact Form ----------*/ var form = ".ajax-contact"; var invalidCls = "is-invalid"; var $email = '[name="email"]'; var $validation = '[name="name"],[name="email"],[name="subject"],[name="number"],[name="message"]'; // Must be use (,) without any space var formMessages = $(".form-messages"); function sendContact() { var formData = $(form).serialize(); var valid; valid = validateContact(); if (valid) { jQuery .ajax({ url: $(form).attr("action"), data: formData, type: "POST", }) .done(function (response) { // Make sure that the formMessages div has the 'success' class. formMessages.removeClass("error"); formMessages.addClass("success"); // Set the message text. formMessages.text(response); // Clear the form. $( form + ' input:not([type="submit"]),' + form + " textarea" ).val(""); }) .fail(function (data) { // Make sure that the formMessages div has the 'error' class. formMessages.removeClass("success"); formMessages.addClass("error"); // Set the message text. if (data.responseText !== "") { formMessages.html(data.responseText); } else { formMessages.html( "Oops! An error occured and your message could not be sent." ); } }); } } function validateContact() { var valid = true; var formInput; function unvalid($validation) { $validation = $validation.split(","); for (var i = 0; i < $validation.length; i++) { formInput = form + " " + $validation[i]; if (!$(formInput).val()) { $(formInput).addClass(invalidCls); valid = false; } else { $(formInput).removeClass(invalidCls); valid = true; } } } unvalid($validation); if ( !$($email).val() || !$($email) .val() .match(/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/) ) { $($email).addClass(invalidCls); valid = false; } else { $($email).removeClass(invalidCls); valid = true; } return valid; } $(form).on("submit", function (element) { element.preventDefault(); sendContact(); }); /*---------- 10. Search Box Popup ----------*/ function popupSarchBox($searchBox, $searchOpen, $searchCls, $toggleCls) { $($searchOpen).on("click", function (e) { e.preventDefault(); $($searchBox).addClass($toggleCls); }); $($searchBox).on("click", function (e) { e.stopPropagation(); $($searchBox).removeClass($toggleCls); }); $($searchBox) .find("form") .on("click", function (e) { e.stopPropagation(); $($searchBox).addClass($toggleCls); }); $($searchCls).on("click", function (e) { e.preventDefault(); e.stopPropagation(); $($searchBox).removeClass($toggleCls); }); } popupSarchBox( ".popup-search-box", ".searchBoxToggler", ".searchClose", "show" ); /*---------- 11. Popup Sidemenu ----------*/ function popupSideMenu($sideMenu, $sideMunuOpen, $sideMenuCls, $toggleCls) { // Sidebar Popup $($sideMunuOpen).on('click', function (e) { e.preventDefault(); $($sideMenu).addClass($toggleCls); }); $($sideMenu).on('click', function (e) { e.stopPropagation(); $($sideMenu).removeClass($toggleCls) }); var sideMenuChild = $sideMenu + ' > div'; $(sideMenuChild).on('click', function (e) { e.stopPropagation(); $($sideMenu).addClass($toggleCls) }); $($sideMenuCls).on('click', function (e) { e.preventDefault(); e.stopPropagation(); $($sideMenu).removeClass($toggleCls); }); }; popupSideMenu('.sidemenu-wrapper', '.sideMenuToggler', '.sideMenuCls', 'show'); /*----------- 12. Magnific Popup ----------*/ /* magnificPopup img view */ $(".popup-image").magnificPopup({ type: "image", mainClass: 'mfp-zoom-in', removalDelay: 260, gallery: { enabled: true, }, }); /* magnificPopup video view */ $(".popup-video").magnificPopup({ type: "iframe", mainClass: 'mfp-zoom-in', removalDelay: 260, }); /* magnificPopup video view */ $(".popup-content").magnificPopup({ type: "inline", midClick: true, }); /* footer animation */ $(".th-screen").length && $(window).on("scroll", function () { ! function (t, a = 0) { var i = $(window).scrollTop(), o = i + $(window).height(), s = $(t).offset().top; return s + $(t).height() - parseInt(a) <= o && s >= i } (".th-screen", 200) ? $(".th-screen").removeClass("th-visible"): $(".th-screen").addClass("th-visible") }), function content_ready_scripts() { const boxes = gsap.utils.toArray('.global-image'); boxes.forEach(img => { gsap.to(img, { scrollTrigger: { trigger: img, start: "top 70%", end: "bottom bottom", toggleClass: "active", once: true, } }); }); } if($('.th-anim').length){ gsap.registerPlugin(ScrollTrigger); let revealContainers = document.querySelectorAll(".th-anim"); revealContainers.forEach((container) => { let image = container.querySelector("img"); let tl = gsap.timeline({ scrollTrigger: { trigger: container, toggleActions: "play none none none" } }); tl.set(container, { autoAlpha: 1 }); tl.from(container, 1.5, { xPercent: -100, ease: Power2.out }); tl.from(image, 1.5, { xPercent: 100, scale: 1.3, delay: -1.5, ease: Power2.out }); }); } /*---------- 13. Section Position ----------*/ // Interger Converter function convertInteger(str) { return parseInt(str, 10); } $.fn.sectionPosition = function (mainAttr, posAttr) { $(this).each(function () { var section = $(this); function setPosition() { var sectionHeight = Math.floor(section.height() / 2), // Main Height of section posData = section.attr(mainAttr), // where to position posFor = section.attr(posAttr), // On Which section is for positioning topMark = "top-half", // Pos top bottomMark = "bottom-half", // Pos Bottom parentPT = convertInteger($(posFor).css("padding-top")), // Default Padding of parent parentPB = convertInteger($(posFor).css("padding-bottom")); // Default Padding of parent if (posData === topMark) { $(posFor).css( "padding-bottom", parentPB + sectionHeight + "px" ); section.css("margin-top", "-" + sectionHeight + "px"); } else if (posData === bottomMark) { $(posFor).css( "padding-top", parentPT + sectionHeight + "px" ); section.css("margin-bottom", "-" + sectionHeight + "px"); } } setPosition(); // Set Padding On Load }); }; var postionHandler = "[data-sec-pos]"; if ($(postionHandler).length) { $(postionHandler).imagesLoaded(function () { $(postionHandler).sectionPosition("data-sec-pos", "data-pos-for"); }); } /*----------- 14. Filter ----------*/ /*----------- 15. Filter ----------*/ $(".filter-active").imagesLoaded(function () { var $filter = ".filter-active", $filterItem = ".filter-item", $filterMenu = ".filter-menu-active"; if ($($filter).length > 0) { var $grid = $($filter).isotope({ itemSelector: $filterItem, filter: "*", masonry: { // use outer width of grid-sizer for columnWidth columnWidth: 1, }, }); // filter items on button click $($filterMenu).on("click", "button", function () { var filterValue = $(this).attr("data-filter"); $grid.isotope({ filter: filterValue, }); }); // Menu Active Class $($filterMenu).on("click", "button", function (event) { event.preventDefault(); $(this).addClass("active"); $(this).siblings(".active").removeClass("active"); }); } }); // Active specifix $('.filter-active-cat1').imagesLoaded(function () { var $filter = '.filter-active-cat1', $filterItem = '.filter-item', $filterMenu = '.filter-menu-active'; if ($($filter).length > 0) { var $grid = $($filter).isotope({ itemSelector: $filterItem, filter: '.cat1', masonry: { // use outer width of grid-sizer for columnWidth columnWidth: 1 } }); // filter items on button click $($filterMenu).on('click', 'button', function () { var filterValue = $(this).attr('data-filter'); $grid.isotope({ filter: filterValue }); }); // Menu Active Class $($filterMenu).on('click', 'button', function (event) { event.preventDefault(); $(this).addClass('active'); $(this).siblings('.active').removeClass('active'); }); }; }); $(".masonary-active").imagesLoaded(function () { var $filter = ".masonary-active", $filterItem = ".filter-item"; if ($($filter).length > 0) { $($filter).isotope({ itemSelector: $filterItem, filter: "*", masonry: { // use outer width of grid-sizer for columnWidth columnWidth: 1, }, }); } }); $(".masonary-active, .woocommerce-Reviews .comment-list").imagesLoaded(function () { var $filter = ".masonary-active, .woocommerce-Reviews .comment-list", $filterItem = ".filter-item, .woocommerce-Reviews .comment-list li"; if ($($filter).length > 0) { $($filter).isotope({ itemSelector: $filterItem, filter: "*", masonry: { // use outer width of grid-sizer for columnWidth columnWidth: 1, }, }); } $('[data-bs-toggle="tab"]').on('shown.bs.tab', function (e) { $($filter).isotope({ filter: "*", }); }); }); /*----------- 15. Counter Up ----------*/ $(".counter-number").counterUp({ delay: 10, time: 1000, }); /*----------- 17. Shape Mockup ----------*/ $.fn.shapeMockup = function () { var $shape = $(this); $shape.each(function () { var $currentShape = $(this), shapeTop = $currentShape.data("top"), shapeRight = $currentShape.data("right"), shapeBottom = $currentShape.data("bottom"), shapeLeft = $currentShape.data("left"); $currentShape .css({ top: shapeTop, right: shapeRight, bottom: shapeBottom, left: shapeLeft, }) .removeAttr("data-top") .removeAttr("data-right") .removeAttr("data-bottom") .removeAttr("data-left") .parent() .addClass("shape-mockup-wrap"); }); }; if ($(".shape-mockup")) { $(".shape-mockup").shapeMockup(); } /*----------- 18. Progress Bar Animation ----------*/ $('.progress-bar').waypoint(function() { $('.progress-bar').css({ animation: "animate-positive 1.8s", opacity: "1" }); }, { offset: '75%' }); /*----------- 19. Price Slider ----------*/ $(".price_slider").slider({ range: true, min: 10, max: 100, values: [10, 75], slide: function (event, ui) { $(".from").text("$" + ui.values[0]); $(".to").text("$" + ui.values[1]); } }); $(".from").text("$" + $(".price_slider").slider("values", 0)); $(".to").text("$" + $(".price_slider").slider("values", 1)); /*----------- 20. Tilt Active ----------*/ $('.tilt-active').tilt({ maxTilt: 7, perspective: 1000, }) /*---------- 22. Circle Progress ----------*/ function animateElements() { $('.feature-circle .progressbar').each(function () { var pathColor = $(this).attr('data-path-color'); var elementPos = $(this).offset().top; var topOfWindow = $(window).scrollTop(); var percent = $(this).find('.circle').attr('data-percent'); var percentage = parseInt(percent, 10) / parseInt(100, 10); var animate = $(this).data('animate'); if (elementPos < topOfWindow + $(window).height() - 30 && !animate) { $(this).data('animate', true); $(this).find('.circle').circleProgress({ startAngle: -Math.PI / 2, value: percent / 100, size: 100, thickness: 6, emptyFill: "transparent", lineCap: 'round', fill: { color: pathColor, } }).on('circle-animation-progress', function (event, progress, stepValue) { $(this).find('.circle-num').text((stepValue*100).toFixed(0) + "%"); }).stop(); } }); $('.skill-circle .progressbar').each(function () { var pathColor = $(this).attr('data-path-color'); var elementPos = $(this).offset().top; var topOfWindow = $(window).scrollTop(); var percent = $(this).find('.circle').attr('data-percent'); var percentage = parseInt(percent, 10) / parseInt(100, 10); var animate = $(this).data('animate'); if (elementPos < topOfWindow + $(window).height() - 30 && !animate) { $(this).data('animate', true); $(this).find('.circle').circleProgress({ startAngle: -Math.PI / 2, value: percent / 100, size: 176, thickness: 8, emptyFill: "#EFF1F9", lineCap: 'round', fill: { color: pathColor, } }).on('circle-animation-progress', function (event, progress, stepValue) { $(this).find('.circle-num').text((stepValue*100).toFixed(0) + "%"); }).stop(); } }); } // Show animated elements animateElements(); $(window).scroll(animateElements); /*----------- 00. Woocommerce Toggle ----------*/ // Ship To Different Address $("#ship-to-different-address-checkbox").on("change", function () { if ($(this).is(":checked")) { $("#ship-to-different-address") .next(".shipping_address") .slideDown(); } else { $("#ship-to-different-address").next(".shipping_address").slideUp(); } }); // Login Toggle $(".woocommerce-form-login-toggle a").on("click", function (e) { e.preventDefault(); $(".woocommerce-form-login").slideToggle(); }); // Coupon Toggle $(".woocommerce-form-coupon-toggle a").on("click", function (e) { e.preventDefault(); $(".woocommerce-form-coupon").slideToggle(); }); // Woocommerce Shipping Method $(".shipping-calculator-button").on("click", function (e) { e.preventDefault(); $(this).next(".shipping-calculator-form").slideToggle(); }); // Woocommerce Payment Toggle $('.wc_payment_methods input[type="radio"]:checked') .siblings(".payment_box") .show(); $('.wc_payment_methods input[type="radio"]').each(function () { $(this).on("change", function () { $(".payment_box").slideUp(); $(this).siblings(".payment_box").slideDown(); }); }); // Woocommerce Rating Toggle $(".rating-select .stars a").each(function () { $(this).on("click", function (e) { e.preventDefault(); $(this).siblings().removeClass("active"); $(this).parent().parent().addClass("selected"); $(this).addClass("active"); }); }); // Quantity Plus Minus --------------------------- $(".quantity-plus").each(function () { $(this).on("click", function (e) { e.preventDefault(); var $qty = $(this).siblings(".qty-input"); var currentVal = parseInt($qty.val(), 10); if (!isNaN(currentVal)) { $qty.val(currentVal + 1); } }); }); $(".quantity-minus").each(function () { $(this).on("click", function (e) { e.preventDefault(); var $qty = $(this).siblings(".qty-input"); var currentVal = parseInt($qty.val(), 10); if (!isNaN(currentVal) && currentVal > 1) { $qty.val(currentVal - 1); } }); }); // /*----------- 00.Gsap Cursor ----------*/ var cursor = $(".cursor"), follower = $(".cursor2"); var posX = 0, posY = 0; var mouseX = 0, mouseY = 0; TweenMax.to({}, 0.016, { repeat: -1, onRepeat: function() { posX += (mouseX - posX) / 9; posY += (mouseY - posY) / 9; TweenMax.set(follower, { css: { left: posX - 12, top: posY - 12 } }); TweenMax.set(cursor, { css: { left: mouseX, top: mouseY } }); } }); $(document).on("mousemove", function(e) { mouseX = e.clientX; mouseY = e.clientY; }); //circle $(".btn").on("mouseenter", function() { cursor.addClass("active"); follower.addClass("active"); }); $(".btn").on("mouseleave", function() { cursor.removeClass("active"); follower.removeClass("active"); }); // CURSOR End // /*----------- 00.GSAP Register ----------*/ window.gsap.registerPlugin( window.TweenMax ); // /*----------- 00.Color Scheme ----------*/ $('.color-switch-btns button').each(function () { // Get color for button const button = $(this); const color = button.data('color'); button.css('--theme-color', color); // Change theme color on click button.on('click', function () { const clickedColor = $(this).data('color'); $('body').css('--theme-color', clickedColor); }); }); $(document).on('click','.switchIcon',function() { $('.color-scheme-wrap').toggleClass('active'); }); // /*----------- Pricing-switch & Tab ----------*/ var e = document.getElementById("filt-monthly"), d = document.getElementById("filt-yearly"), t = document.getElementById("switcher"), m = document.getElementById("monthly"), y = document.getElementById("yearly"); if ($('.pricing-tabs').length){ e.addEventListener("click", function(){ t.checked = false; e.classList.add("toggler--is-active"); d.classList.remove("toggler--is-active"); m.classList.remove("hide"); y.classList.add("hide"); }); d.addEventListener("click", function(){ t.checked = true; d.classList.add("toggler--is-active"); e.classList.remove("toggler--is-active"); m.classList.add("hide"); y.classList.remove("hide"); }); t.addEventListener("click", function(){ d.classList.toggle("toggler--is-active"); e.classList.toggle("toggler--is-active"); m.classList.toggle("hide"); y.classList.toggle("hide"); }); } // /*----------- 00. Right Click Disable ----------*/ // window.addEventListener('contextmenu', function (e) { // // do something here... // e.preventDefault(); // }, false); // /*----------- 00. Inspect Element Disable ----------*/ // document.onkeydown = function (e) { // if (event.keyCode == 123) { // return false; // } // if (e.ctrlKey && e.shiftKey && e.keyCode == 'I'.charCodeAt(0)) { // return false; // } // if (e.ctrlKey && e.shiftKey && e.keyCode == 'C'.charCodeAt(0)) { // return false; // } // if (e.ctrlKey && e.shiftKey && e.keyCode == 'J'.charCodeAt(0)) { // return false; // } // if (e.ctrlKey && e.keyCode == 'U'.charCodeAt(0)) { // return false; // } // } })(jQuery);