function realer_content_load_scripts() { var $ = jQuery; "use strict"; /*================================= JS Index Here ==================================*/ /* 01. On Load Function 02. Preloader 03. Mobile Menu 04. Sticky fix 05. Scroll To Top 06. Set Background Image Color & Mask 07. Global Slider 08. Ajax Contact Form 09. Search Box Popup 10. Popup Sidemenu 11. Magnific Popup 12. Section Position 13. Filter 14. Counter Up 15. Shape Mockup 16. Progress Bar Animation 17. Countdown 18. Image to SVG Code 00. Woocommerce Toggle 00. Color Scheme 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 ----------*/ $.fn.thmobilemenu = function (options) { var opt = $.extend( { menuToggleBtn: ".th-menu-toggle", bodyToggleClass: "th-body-visible", subMenuClass: "th-submenu", subMenuParent: "menu-item-has-children", thSubMenuParent: "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("." + opt.subMenuParent).each(function () { var submenu = $(this).find("ul"); submenu.addClass(opt.subMenuClass); submenu.css("display", "none"); $(this).addClass(opt.subMenuParent); $(this).addClass(opt.thSubMenuParent); // Add th-item-has-children class $(this).children("a").append(opt.appendElement); }); // Toggle Submenu function toggleDropDown($element) { var submenu = $element.children("ul"); if (submenu.length > 0) { $element.toggleClass(opt.subMenuParentToggle); submenu.slideToggle(opt.toggleSpeed); submenu.toggleClass(opt.subMenuToggleClass); } } // Submenu toggle Button var itemHasChildren = "." + opt.thSubMenuParent + " > a"; $(itemHasChildren).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 outside 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(); /*----------- 22. 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'); //one page sticky menu $(window).on('scroll', function(){ if ($('.onepage-nav').length > 0) { }; }); /*---------- 04. Sticky fix ----------*/ $(window).scroll(function () { var topPos = $(this).scrollTop(); if (topPos > 300) { $('.sticky-wrapper').addClass('sticky'); $('.category-menu').addClass('close-category'); } else { $('.sticky-wrapper').removeClass('sticky') $('.category-menu').removeClass('close-category'); } }) $(".menu-expand").each(function () { $(this).on("click", function (e) { e.preventDefault(); $('.category-menu').toggleClass('open-category'); }); }); /*---------- 05. Scroll To Top ----------*/ if ($('.scroll-top').length > 0) { 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); }); $(document).ready(function() { function applyMaskImages() { 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'); }); } } // Initial application of the code applyMaskImages(); // Check if the element with the class 'directorist-archive-list-view' exists if ($('.directorist-archive-list-view').length > 0) { setTimeout(applyMaskImages, 500); // Reload this code after 1 second (1000 milliseconds) } }); /*----------- 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(); } } } }); /*--------------. 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 ($(".project-number-pagination").length) { $(".project-number-pagination").activateSliderThumbs({ sliderTab: true, tabButton: ".tab-btn", }); } /*----------- 08. 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(); }); /*---------- 09. 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" ); /*---------- 10. 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-cart', '.sideMenuToggler', '.sideMenuCls', 'show'); popupSideMenu('.sidemenu-info', '.sideMenuInfo', '.sideMenuCls', 'show'); /*----------- 11. 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", removalDelay: 260, mainClass: 'mfp-zoom-in', }); /* magnificPopup video view */ $(".popup-content").magnificPopup({ type: "inline", midClick: true, }); /*---------- 12. 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 ----------*/ $(".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"); }); } }); $(".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: "*", }); }); }); // 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'); }); }; }); /*----------- 14. Counter Up ----------*/ $(".counter-number").counterUp({ delay: 10, time: 1000, }); /*----------- 15. 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') .closest('.elementor-widget').css('position', 'static') .closest('.e-parent').addClass('shape-mockup-wrap'); }); }; if ($('.shape-mockup')) { $('.shape-mockup').shapeMockup(); } /*----------- 16. Progress Bar Animation ----------*/ $('.progress-bar').waypoint(function() { $('.progress-bar').css({ animation: "animate-positive 1.8s", opacity: "1" }); }, { offset: '75%' }); /*----------- 17. Countdown ----------*/ $.fn.countdown = function () { $(this).each(function () { var $counter = $(this), countDownDate = new Date($counter.data("offer-date")).getTime(), // Set the date we're counting down toz exprireCls = "expired"; // Finding Function function s$(element) { return $counter.find(element); } // Update the count down every 1 second var counter = setInterval(function () { // Get today's date and time var now = new Date().getTime(); // Find the distance between now and the count down date var distance = countDownDate - now; // Time calculations for days, hours, minutes and seconds var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var hours = Math.floor( (distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60) ); var minutes = Math.floor( (distance % (1000 * 60 * 60)) / (1000 * 60) ); var seconds = Math.floor((distance % (1000 * 60)) / 1000); // Check If value is lower than ten, so add zero before number days < 10 ? (days = "0" + days) : null; hours < 10 ? (hours = "0" + hours) : null; minutes < 10 ? (minutes = "0" + minutes) : null; seconds < 10 ? (seconds = "0" + seconds) : null; // If the count down is over, write some text if (distance < 0) { clearInterval(counter); $counter.addClass(exprireCls); $counter.find(".message").css("display", "block"); } else { // Output the result in elements s$(".day").html(days); s$(".hour").html(hours); s$(".minute").html(minutes); s$(".seconds").html(seconds); } }, 1000); }); }; if ($(".counter-list").length) { $(".counter-list").countdown(); } /*---------- 18. Image to SVG Code ----------*/ const cache = {}; $.fn.inlineSvg = function fnInlineSvg() { this.each(imgToSvg); return this; }; function imgToSvg() { const $img = $(this); const src = $img.attr("src"); // fill cache by src with promise if (!cache[src]) { const d = $.Deferred(); $.get(src, (data) => { d.resolve($(data).find("svg")); }); cache[src] = d.promise(); } // replace img with svg when cached promise resolves cache[src].then((svg) => { const $svg = $(svg).clone(); if ($img.attr("id")) $svg.attr("id", $img.attr("id")); if ($img.attr("class")) $svg.attr("class", $img.attr("class")); if ($img.attr("style")) $svg.attr("style", $img.attr("style")); if ($img.attr("width")) { $svg.attr("width", $img.attr("width")); if (!$img.attr("height")) $svg.removeAttr("height"); } if ($img.attr("height")) { $svg.attr("height", $img.attr("height")); if (!$img.attr("width")) $svg.removeAttr("width"); } $svg.insertAfter($img); $img.trigger("svgInlined", $svg[0]); $img.remove(); }); } $(".svg-img").inlineSvg(); /*----------- 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 --------------------------- $(document).on('click', '.quantity-plus, .quantity-minus', function (e) { e.preventDefault(); // Get current quantity values var qty = $(this).closest('.quantity, .product-quantity').find('.qty-input'); var val = parseFloat(qty.val()); var max = parseFloat(qty.attr('max')); var min = parseFloat(qty.attr('min')); var step = parseFloat(qty.attr('step')); // Change the value if plus or minus if ($(this).is('.quantity-plus')) { if (max && (max <= val)) { qty.val(max); } else { qty.val(val + step); } } else { if (min && (min >= val)) { qty.val(min); } else if (val > 0) { qty.val(val - step); } } $('.cart_table button[name="update_cart"]').prop('disabled', false); }); // /*----------- 21.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'); $(':root').css('--theme-color', clickedColor); }); }); $(document).on('click','.switchIcon',function() { $('.color-scheme-wrap').toggleClass('active'); }); /************lettering js***********/ function injector(t, splitter, klass, after) { var a = t.text().split(splitter), inject = ''; if (a.length) { $(a).each(function(i, item) { inject += ''+item+''+after; }); t.empty().append(inject); } } var methods = { init : function() { return this.each(function() { injector($(this), '', 'char', ''); }); }, words : function() { return this.each(function() { injector($(this), ' ', 'word', ' '); }); }, lines : function() { return this.each(function() { var r = "eefec303079ad17405c889e092e105b0"; // Because it's hard to split a
tag consistently across browsers, // (*ahem* IE *ahem*), we replaces all
instances with an md5 hash // (of the word "split"). If you're trying to use this plugin on that // md5 hash string, it will fail because you're being ridiculous. injector($(this).children("br").replaceWith(r).end(), r, 'line', ''); }); } }; $.fn.lettering = function( method ) { // Method calling logic if ( method && methods[method] ) { return methods[ method ].apply( this, [].slice.call( arguments, 1 )); } else if ( method === 'letters' || ! method ) { return methods.init.apply( this, [].slice.call( arguments, 0 ) ); // always pass an array } $.error( 'Method ' + method + ' does not exist on jQuery.lettering' ); return this; }; $(".circle-title-anime").lettering(); // /*----------- Gsap Animation ----------*/ if ($('.cursor-follower').length > 0) { var follower = $(".cursor-follower"); 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 } }); } }); $(document).on("mousemove", function(e) { mouseX = e.clientX; mouseY = e.clientY; }); //circle $(".slider-area").on("mouseenter", function() { follower.addClass("d-none"); }); $(".slider-area").on("mouseleave", function() { follower.removeClass("d-none"); }); } const cursor = document.querySelector(".slider-drag-cursor"); const pos = { x: window.innerWidth / 2, y: window.innerHeight / 2 }; const mouse = { x: pos.x, y: pos.y }; const speed = 1; const xSet = gsap.quickSetter(cursor, "x", "px"); const ySet = gsap.quickSetter(cursor, "y", "px"); window.addEventListener("pointermove", e => { mouse.x = e.x; mouse.y = e.y; }); gsap.set(".slider-drag-cursor", {xPercent: -50, yPercent: -50}); gsap.ticker.add(() => { const dt = 1.0 - Math.pow(1.0 - speed, gsap.ticker.deltaRatio()); pos.x += (mouse.x - pos.x) * dt; pos.y += (mouse.y - pos.y) * dt; xSet(pos.x); ySet(pos.y); }); $(".slider-drag-wrap").hover(function() { $('.slider-drag-cursor').addClass('active'); }, function() { $('.slider-drag-cursor').removeClass('active'); }); $(".slider-drag-wrap a").hover(function() { $('.slider-drag-cursor').removeClass('active'); }, function() { $('.slider-drag-cursor').addClass('active'); }); } (function ($) { /*---------- 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"); }); }); } /*---------- Sticky Footer ----------*/ function checkHeight() { if ($('body').height() < $(window).height()) { $('.footer-sticky').addClass('sticky-footer'); } else { $('.footer-sticky').removeClass('sticky-footer'); } } $(window).on('load resize', function () { checkHeight(); }); // Elementor Frontend Load $(window).on('elementor/frontend/init', function () { if (elementorFrontend.isEditMode()) { elementorFrontend.hooks.addAction('frontend/element_ready/global', function () { setTimeout(function () { realer_content_load_scripts(); }, 500); }); } }); // Window Load $(window).on('load', function () { realer_content_load_scripts(); }); })(jQuery);