/* Description: Custom JS file */ (function($) { "use strict"; /* Navbar Scripts */ // 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(); }); }); // offcanvas script from Bootstrap + added element to close menu on click in small viewport $('[data-toggle="offcanvas"], .navbar-nav li a:not(.dropdown-toggle').on('click', function () { $('.offcanvas-collapse').toggleClass('open') }) // hover in desktop mode function toggleDropdown (e) { const _d = $(e.target).closest('.dropdown'), _m = $('.dropdown-menu', _d); setTimeout(function(){ const shouldOpen = e.type !== 'click' && _d.is(':hover'); _m.toggleClass('show', shouldOpen); _d.toggleClass('show', shouldOpen); $('[data-toggle="dropdown"]', _d).attr('aria-expanded', shouldOpen); }, e.type === 'mouseleave' ? 300 : 0); } $('body') .on('mouseenter mouseleave','.dropdown',toggleDropdown) .on('click', '.dropdown-menu a', toggleDropdown); /* Header Slider - Swiper */ var headerSlider = new Swiper('.header-slider', { autoplay: { delay: 3500, disableOnInteraction: false }, loop: true, effect: "fade", speed: 700 }); /* Image Slider - Swiper */ var imageSlider = new Swiper('.image-slider', { autoplay: { delay: 3000, disableOnInteraction: false }, loop: false, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev' }, slidesPerView: 3, spaceBetween: 20, breakpoints: { // when window is <= 767px 767: { slidesPerView: 1 }, // when window is <= 991px 991: { slidesPerView: 2, spaceBetween: 10 }, // when window is <= 1199px 1199: { slidesPerView: 3, spaceBetween: 20 }, } }); /* Image Slider Room - Swiper */ var imageSlider = new Swiper('.image-slider-room', { autoplay: { delay: 3000, disableOnInteraction: false }, loop: false, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev', } }); /* Card Slider - Swiper */ var cardSlider = new Swiper('.card-slider', { autoplay: { delay: 4000, disableOnInteraction: false }, loop: true, navigation: { nextEl: '.swiper-button-next', prevEl: '.swiper-button-prev' }, slidesPerView: 3, spaceBetween: 30, breakpoints: { // when window is <= 767px 767: { slidesPerView: 1 }, // when window is <= 991px 991: { slidesPerView: 2 } } }); /* 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 } }); /* Details Lightbox - Magnific Popup */ $('.popup-with-move-anim').magnificPopup({ type: 'inline', fixedContentPos: true, fixedBgPos: true, overflowY: 'auto', closeBtnInside: true, preloader: false, midClick: true, removalDelay: 300, mainClass: 'my-mfp-slide-bottom' }); /* 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'); } }); /* Datepicker - Bootstrap Datepicker */ $('#start').datepicker({ todayHighlight: true, autoclose: true, format: 'MM/dd/yyyy', }); // detects change to selected date to keep the label above the value in the input field $('#start').datepicker().on('changeDate', function(e) { $("input[id=start]").addClass('notEmpty'); }); $('#end').datepicker({ autoclose: true, format: 'MM/dd/yyyy' }); // detects change to selected date to keep the label above the value in the input field// keeps the label above the value in the input field $('#end').datepicker().on('changeDate', function(e) { $("input[id=end]").addClass('notEmpty'); }); /* 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);