/* Template: Sync - Free Mobile App Landing Page HTML Template Author: Inovatik Created: Dec 2019 Description: Custom JS file */ (function($) { "use strict"; /* Preloader */ $(window).on('load', function() { var preloaderFadeOutTime = 500; function hidePreloader() { var preloader = $('.spinner-wrapper'); setTimeout(function() { preloader.fadeOut(preloaderFadeOutTime); }, 500); } hidePreloader(); }); /* Navbar Scripts */ // jQuery to collapse the navbar on scroll $(window).on('scroll load', function() { if ($(".navbar").offset().top > 60) { $(".fixed-top").addClass("top-nav-collapse"); } else { $(".fixed-top").removeClass("top-nav-collapse"); } }); // jQuery for page scrolling feature - requires jQuery Easing plugin $(function() { $(document).on('click', 'a.page-scroll', function(event) { var $anchor = $(this); $('html, body').stop().animate({ scrollTop: $($anchor.attr('href')).offset().top }, 600, 'easeInOutExpo'); event.preventDefault(); }); }); // closes the responsive menu on menu item click $(".navbar-nav li a").on("click", function(event) { if (!$(this).parent().hasClass('dropdown')) $(".navbar-collapse").collapse('hide'); }); /* Image Slider - Swiper */ var imageSlider = new Swiper('.image-slider', { autoplay: { delay: 2000, disableOnInteraction: false }, loop: false, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', }, spaceBetween: 30, slidesPerView: 5, breakpoints: { // when window is <= 516px 516: { slidesPerView: 1, spaceBetween: 10 }, // when window is <= 767px 767: { slidesPerView: 2, spaceBetween: 20 }, // when window is <= 991px 991: { slidesPerView: 3, spaceBetween: 30 }, // when window is <= 1199px 1199: { slidesPerView: 4, spaceBetween: 30 }, } }); /* Image Lightbox - Magnific Popup */ $('.popup-link').magnificPopup({ removalDelay: 300, type: 'image', callbacks: { beforeOpen: function() { this.st.image.markup = this.st.image.markup.replace('mfp-figure', 'mfp-figure ' + this.st.el.attr('data-effect')); }, beforeClose: function() { $('.mfp-figure').addClass('fadeOut'); } }, gallery:{ enabled:true //enable gallery mode } }); /* Video Lightbox - Magnific Popup */ $('.popup-youtube, .popup-vimeo').magnificPopup({ disableOn: 700, type: 'iframe', mainClass: 'mfp-fade', removalDelay: 160, preloader: false, fixedContentPos: false, iframe: { patterns: { youtube: { index: 'youtube.com/', id: function(url) { var m = url.match(/[\\?\\&]v=([^\\?\\&]+)/); if ( !m || !m[1] ) return null; return m[1]; }, src: 'https://www.youtube.com/embed/%id%?autoplay=1' }, vimeo: { index: 'vimeo.com/', id: function(url) { var m = url.match(/(https?:\/\/)?(www.)?(player.)?vimeo.com\/([a-z]*\/)*([0-9]{6,11})[?]?.*/); if ( !m || !m[5] ) return null; return m[5]; }, src: 'https://player.vimeo.com/video/%id%?autoplay=1' } } } }); /* Details Lightbox - Magnific Popup */ $('.popup-with-move-anim').magnificPopup({ type: 'inline', fixedContentPos: false, /* keep it false to avoid html tag shift with margin-right: 17px */ fixedBgPos: true, overflowY: 'auto', closeBtnInside: true, preloader: false, midClick: true, removalDelay: 300, mainClass: 'my-mfp-slide-bottom' }); /* Counter - CountTo */ var a = 0; $(window).scroll(function() { if ($('#counter').length) { // checking if CountTo section exists in the page, if not it will not run the script and avoid errors var oTop = $('#counter').offset().top - window.innerHeight; if (a == 0 && $(window).scrollTop() > oTop) { $('.counter-value').each(function() { var $this = $(this), countTo = $this.attr('data-count'); $({ countNum: $this.text() }).animate({ countNum: countTo }, { duration: 2000, easing: 'swing', step: function() { $this.text(Math.floor(this.countNum)); }, complete: function() { $this.text(this.countNum); //alert('finished'); } }); }); a = 1; } } }); /* Move Form Fields Label When User Types */ // for input and textarea fields $("input, textarea").keyup(function(){ if ($(this).val() != '') { $(this).addClass('notEmpty'); } else { $(this).removeClass('notEmpty'); } }); /* Privacy Form */ $("#privacyForm").validator().on("submit", function(event) { if (event.isDefaultPrevented()) { // handle the invalid form... pformError(); psubmitMSG(false, "Please fill all fields!"); } else { // everything looks good! event.preventDefault(); psubmitForm(); } }); function psubmitForm() { // initiate variables with form content var name = $("#pname").val(); var email = $("#pemail").val(); var select = $("#pselect").val(); var terms = $("#pterms").val(); $.ajax({ type: "POST", url: "php/privacyform-process.php", data: "name=" + name + "&email=" + email + "&select=" + select + "&terms=" + terms, success: function(text) { if (text == "success") { pformSuccess(); } else { pformError(); psubmitMSG(false, text); } } }); } function pformSuccess() { $("#privacyForm")[0].reset(); psubmitMSG(true, "Request Submitted!"); $("input").removeClass('notEmpty'); // resets the field label after submission } function pformError() { $("#privacyForm").removeClass().addClass('shake animated').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() { $(this).removeClass(); }); } function psubmitMSG(valid, msg) { if (valid) { var msgClasses = "h3 text-center tada animated"; } else { var msgClasses = "h3 text-center"; } $("#pmsgSubmit").removeClass().addClass(msgClasses).text(msg); } /* Back To Top Button */ // create the back to top button $('body').prepend('Back to Top'); var amountScrolled = 700; $(window).scroll(function() { if ($(window).scrollTop() > amountScrolled) { $('a.back-to-top').fadeIn('500'); } else { $('a.back-to-top').fadeOut('500'); } }); /* Removes Long Focus On Buttons */ $(".button, a, button").mouseup(function() { $(this).blur(); }); })(jQuery);