(function($) { "use strict"; $(document).ready(function() { /* ======================================== Navbar Toggler ======================================== */ // $(document).on('click', '.navbar-toggler', function() { // $(".navbar-toggler").toggleClass("active"); // }); $(document).on('click', '.click-nav-right-icon', function() { $(".show-nav-content").toggleClass("show"); }); // $(document).on('click', '.navbar-toggler, .click-nav-right-icon, .click-content-show', function(r) { // r.preventDefault(); // if($(this).hasClass("navbar-toggler")) { // $(this).toggleClass("active"); // } else if($(this).hasClass("click-nav-right-icon")) { // $(".show-nav-content").toggleClass("show"); // } else if($(this).hasClass("click-content-show")) { // $(".right-contents-show").toggleClass("show"); // } // }); /* ======================================== Show nav right content ======================================== */ // $(document).on('click', '.click-content-show', function() { // $(".right-contents-show").toggleClass("show"); // }); /* ======================================== counter Odometer ======================================== */ $(".construction_single_counter__count").each(function() { $(this).isInViewport(function(status) { if (status === "entered") { for (var i = 0; i < document.querySelectorAll(".odometer").length; i++) { var el = document.querySelectorAll('.odometer')[i]; el.innerHTML = el.getAttribute("data-odometer-final"); } } }); }); /* ======================================== wow js init ======================================== */ new WOW().init(); /* ======================================== Hover Slide Js ======================================== */ $(document).on('mouseenter', '.hoverCustom_tab .hoverTab__menu li', function(r) { let tab = $(this).closest('.hoverCustom_tab'), index = $(this).index(); tab.find('li').removeClass('active'); $(this).addClass('active'); tab.find('.hoverTab_area .hoverTab_item').not(':eq(' + index + ')').hide().removeClass('active'); tab.find('.hoverTab_area .hoverTab_item:eq(' + index + ')').show().addClass('active'); r.preventDefault(); }); /* ======================================== Faq accordion ======================================== */ $(document).on('click', '.constructionFaq__title', function(e) { let element = $(this).closest('.constructionFaq__item'); element.toggleClass('open'); element.children('.constructionFaq__panel').slideToggle(300); element.siblings().removeClass('open').children('.constructionFaq__panel').slideUp(300); }); /* ======================================== Global Slider Init ======================================== */ var globalSlickInit = $('.global-slick-init'); if (globalSlickInit.length > 0) { //todo have to check slider item $.each(globalSlickInit, function(index, value) { if ($(this).children('div').length > 1) { //todo configure slider settings object var sliderSettings = {}; var allData = $(this).data(); var infinite = typeof allData.infinite == 'undefined' ? false : allData.infinite; var arrows = typeof allData.arrows == 'undefined' ? false : allData.arrows; var autoplay = typeof allData.autoplay == 'undefined' ? false : allData.autoplay; var focusOnSelect = typeof allData.focusonselect == 'undefined' ? false : allData.focusonselect; var swipeToSlide = typeof allData.swipetoslide == 'undefined' ? false : allData.swipetoslide; var slidesToShow = typeof allData.slidestoshow == 'undefined' ? 1 : allData.slidestoshow; var slidesToScroll = typeof allData.slidestoscroll == 'undefined' ? 1 : allData.slidestoscroll; var speed = typeof allData.speed == 'undefined' ? '500' : allData.speed; var dots = typeof allData.dots == 'undefined' ? false : allData.dots; var cssEase = typeof allData.cssease == 'undefined' ? 'linear' : allData.cssease; var prevArrow = typeof allData.prevarrow == 'undefined' ? '' : allData.prevarrow; var nextArrow = typeof allData.nextarrow == 'undefined' ? '' : allData.nextarrow; var centerMode = typeof allData.centermode == 'undefined' ? false : allData.centermode; var centerPadding = typeof allData.centerpadding == 'undefined' ? false : allData.centerpadding; var rows = typeof allData.rows == 'undefined' ? 1 : parseInt(allData.rows); var autoplay = typeof allData.autoplay == 'undefined' ? false : allData.autoplay; var autoplaySpeed = typeof allData.autoplayspeed == 'undefined' ? 2000 : parseInt(allData.autoplayspeed); var lazyLoad = typeof allData.lazyload == 'undefined' ? false : allData.lazyload; // have to remove it from settings object if it undefined var appendDots = typeof allData.appenddots == 'undefined' ? false : allData.appenddots; var appendArrows = typeof allData.appendarrows == 'undefined' ? false : allData.appendarrows; var asNavFor = typeof allData.asnavfor == 'undefined' ? false : allData.asnavfor; var verticalSwiping = typeof allData.verticalswiping == 'undefined' ? false : allData.verticalswiping; var vertical = typeof allData.vertical == 'undefined' ? false : allData.vertical; var fade = typeof allData.fade == 'undefined' ? false : allData.fade; var rtl = typeof allData.rtl == 'undefined' ? false : allData.rtl; var responsive = typeof $(this).data('responsive') == 'undefined' ? false : $(this).data('responsive'); //slider settings object setup sliderSettings.infinite = infinite; sliderSettings.arrows = arrows; sliderSettings.autoplay = autoplay; sliderSettings.focusOnSelect = focusOnSelect; sliderSettings.swipeToSlide = swipeToSlide; sliderSettings.slidesToShow = slidesToShow; sliderSettings.slidesToScroll = slidesToScroll; sliderSettings.speed = speed; sliderSettings.dots = dots; sliderSettings.cssEase = cssEase; sliderSettings.prevArrow = prevArrow; sliderSettings.nextArrow = nextArrow; sliderSettings.rows = rows; sliderSettings.autoplaySpeed = autoplaySpeed; sliderSettings.autoplay = autoplay; sliderSettings.verticalSwiping = verticalSwiping; sliderSettings.vertical = vertical; sliderSettings.rtl = rtl; if (centerMode != false) { sliderSettings.centerMode = centerMode; } if (centerPadding != false) { sliderSettings.centerPadding = centerPadding; } if (lazyLoad != false) { sliderSettings.lazyLoad = lazyLoad; } if (appendDots != false) { sliderSettings.appendDots = appendDots; } if (appendArrows != false) { sliderSettings.appendArrows = appendArrows; } if (asNavFor != false) { sliderSettings.asNavFor = asNavFor; } if (fade != false) { sliderSettings.fade = fade; } if (responsive != false) { sliderSettings.responsive = responsive; } $(this).slick(sliderSettings); } }); } }); (function(){ var progressPath = document.querySelector('.progressParent 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 = 550; jQuery(window).on('scroll', function() { if (jQuery(this).scrollTop() > offset) { jQuery('.progressParent').addClass('rn-backto-top-active'); } else { jQuery('.progressParent').removeClass('rn-backto-top-active'); } }); jQuery('.progressParent').on('click', function(event) { event.preventDefault(); jQuery('html, body').animate({scrollTop: 0}, duration); return false; }) })(); })(jQuery);