jQuery(document).ready(function ($) { /** * Add RTL Class in Body */ var brtl; if ($("body").hasClass('rtl')) { brtl = true; } else { brtl = false; } /** * Header Search */ $('.menu-item-search a').click(function () { if ($(this).hasClass('layout_two')) { $(this).parents('.nav-menu').find('.main-menu').hide(); } $('.conslight-search-wrapper').addClass('conslight-search-triggered'); setTimeout(function () { $('.conslight-search-wrapper .search-field').focus(); }, 1000); }); $('.conslight-close-icon').click(function () { $('.conslight-search-wrapper').removeClass('conslight-search-triggered'); if ($(this).hasClass('search-layout-two')) { $(this).parents('.nav-menu').find('.main-menu').show(); } }); $('.sparkletabs .sparkletablinks a').on('click', function (e) { e.preventDefault(); var that = $(this); var currentAttrValue = that.attr('href'); var active = that.attr('id'); var parentLi = that.parent('li'); parentLi.addClass('active').siblings().removeClass('active'); var contentArea = $(this).parents('.sparkletabs').siblings('.sparkletabsproductwrap .sparkletablinkscontent').find('.sparkletabproductarea').find("#" + currentAttrValue); //find is ajax or not var is_no_ajax = that.data('noajax'); if (is_no_ajax) { that.parents('.sparkletabs').parent().find('.sparkletabproductarea .tab-content').hide(); that.parents('.sparkletabs').parent().find('.sparkletabproductarea #' + active).show(); $(window).trigger('resize'); return; } that.parents('.sparkletabs').parent().find('.sparkletabproductarea ul').addClass('hidden'); contentArea.removeClass('hidden'); $(window).trigger('resize'); if (parentLi.attr('data-loaded') == 1) { console.log('already loaded'); return; } }); // Home Slider if ($("#banner-slider").length > 0) { var $owlHome = $('#banner-slider'); $owlHome.owlCarousel({ rtl: brtl, items: 1, autoplay: parseInt($owlHome.data('autoplay')) == 1 ? true : false, autoplayTimeout: parseInt($owlHome.data('pause')) || 5000, smartSpeed: parseInt($owlHome.data('speed')) || 2000, margin: 0, loop: parseInt($owlHome.data('loop')) == 1 ? true : false, dots: parseInt($owlHome.data('pager')) == 1 ? true : false, nav: parseInt($owlHome.data('controls')) == 1 ? true : false, singleItem: true, animateOut: $owlHome.data('easing') || 'fadeOut', transitionStyle: $owlHome.data('mode') || 'fade', touchDrag: parseInt($owlHome.data('drag')) == 1 ? true : false, mouseDrag: parseInt($owlHome.data('drag')) == 1 ? true : false, }); $owlHome.owlCarousel(); $owlHome.on('translate.owl.carousel', function (event) { var data_anim = $("[data-animation]"); data_anim.each(function () { var anim_name = $(this).data('animation'); $(this).removeClass('animated ' + anim_name).css('opacity', '0'); }); }); $("[data-delay]").each(function () { var anim_del = $(this).data('delay'); $(this).css('animation-delay', anim_del); }); $("[data-duration]").each(function () { var anim_dur = $(this).data('duration'); $(this).css('animation-duration', anim_dur); }); $owlHome.on('translated.owl.carousel', function () { var data_anim = $owlHome.find('.owl-item.active').find("[data-animation]"); data_anim.each(function () { var anim_name = $(this).data('animation'); $(this).addClass('animated ' + anim_name).css('opacity', '1'); }); }); function owlHomeThumb() { var $bannerSlide = $('#banner-slider'); $bannerSlide.find('.owl-item').removeClass('prev next'); var currentSlide = $bannerSlide.find('.owl-item.active'); currentSlide.next('.owl-item').addClass('next'); currentSlide.prev('.owl-item').addClass('prev'); var nextSlideImg = $bannerSlide.find('.owl-item.next').find('.slider-item').data('img-url'); var prevSlideImg = $bannerSlide.find('.owl-item.prev').find('.slider-item').data('img-url'); $bannerSlide.find('.owl-nav .owl-prev').css({ backgroundImage: 'url(' + prevSlideImg + ')' }); $bannerSlide.find('.owl-nav .owl-next').css({ backgroundImage: 'url(' + nextSlideImg + ')' }); } if ($owlHome.hasClass('features-slider-1')) { owlHomeThumb(); $owlHome.on('translated.owl.carousel', function () { owlHomeThumb(); }); } } /** * scrollTop To Top */ $(window).scroll(function () { if ($(window).scrollTop() > 300) { $('#back-to-top').addClass('show'); } else { $('#back-to-top').removeClass('show'); } }); $('#back-to-top').click(function (e) { e.preventDefault(); $('html,body').animate({ scrollTop: 0 }, 800); }); var progressPath = document.querySelector('.progress 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 300ms linear'; var updateProgress = function () { var scroll = $(window).scrollTop(); var height = $(document).height() - $(window).height(); var percent = Math.round(scroll * 100 / height); var progress = pathLength - (scroll * pathLength / height); progressPath.style.strokeDashoffset = progress; $('.percent').text(percent + "%"); }; updateProgress(); $(window).scroll(updateProgress); /** * Theia sticky slider */ var sticky_sidebar = construction_light_script.sticky_sidebar; if (sticky_sidebar == 'enable') { try { $('.content-area').theiaStickySidebar({ additionalMarginTop: 30 }); $('.widget-area').theiaStickySidebar({ additionalMarginTop: 30 }); } catch (e) { //console.log( e ); } } /** * Video popup */ $('.popup-youtube, .popup-vimeo, .popup-gmaps').magnificPopup({ disableOn: 700, type: 'iframe', mainClass: 'mfp-fade', removalDelay: 160, preloader: false, fixedContentPos: false }); /** * Isotop Portfolio */ if ($('.cons_light_portfolio-posts').length > 0) { var first_class = $('.cons_light_portfolio-cat-name:first').data('filter'); var $container = $('.cons_light_portfolio-posts').imagesLoaded(function () { $container.isotope({ itemSelector: '.cons_light_portfolio', filter: first_class }); var elems = $container.isotope('getFilteredItemElements'); elems.forEach(function (item, index) { if (index == 0 || index == 4) { $(item).addClass('wide'); var bg = $(item).find('.cons_light_portfolio-image').attr('href'); $(item).find('.cons_light_portfolio-wrap').css('background-image', 'url(' + bg + ')'); } else { $(item).removeClass('wide'); } }); GetMasonary(); setTimeout(function () { $container.isotope({ itemSelector: '.cons_light_portfolio', filter: first_class, }); }, 2000); $(window).on('resize', function () { GetMasonary(); }); }); $('.cons_light_portfolio-cat-name-list').on('click', '.cons_light_portfolio-cat-name', function () { $('.cons_light_portfolio-cat-name-list').find('.cons_light_portfolio-cat-name').removeClass('active'); var filterValue = $(this).attr('data-filter'); $container.isotope({ filter: filterValue }); var elems = $container.isotope('getFilteredItemElements'); elems.forEach(function (item, index) { if (index == 0 || index == 4) { $(item).addClass('wide'); var bg = $(item).find('.cons_light_portfolio-image').attr('href'); $(item).find('.cons_light_portfolio-wrap').css('background-image', 'url(' + bg + ')'); } else { $(item).removeClass('wide'); } }); GetMasonary(); var filterValue = $(this).attr('data-filter'); $container.isotope({ filter: filterValue }); $('.cons_light_portfolio-cat-name').removeClass('active'); $(this).addClass('active'); }); function GetMasonary() { var winWidth = window.innerWidth; if (winWidth > 580) { $container.find('.cons_light_portfolio').each(function () { var image_width = $(this).find('img').width(); if ($(this).hasClass('wide')) { $(this).find('.cons_light_portfolio-wrap').css({ height: (image_width * 2) + 15 + 'px' }); } else { $(this).find('.cons_light_portfolio-wrap').css({ height: image_width + 'px' }); } }); } else { $container.find('.cons_light_portfolio').each(function () { var image_width = $(this).find('img').width(); if ($(this).hasClass('wide')) { $(this).find('.cons_light_portfolio-wrap').css({ height: (image_width * 2) + 8 + 'px' }); } else { $(this).find('.cons_light_portfolio-wrap').css({ height: image_width + 'px' }); } }); } } } /** * Portfolio Open Light Box */ $('.cons_light_portfolio-image').magnificPopup({ type: 'image', closeOnContentClick: true, mainClass: 'mfp-img-mobile', image: { verticalFit: true }, gallery: { enabled: true } }); /** * About us Achiments Awards Counter */ $('.achivement').counterUp(); /** * AboutUs Section Accordion */ $("#edu-accordion:not(.layoutone)").accordion({ heightStyle: "content" }); /** * Success Product Counter */ $('.cons_light_team-counter-wrap').waypoint(function () { setTimeout(function () { $('.odometer1').html($('.odometer1').data('count')); }, 500); setTimeout(function () { $('.odometer2').html($('.odometer2').data('count')); }, 1000); setTimeout(function () { $('.odometer3').html($('.odometer3').data('count')); }, 1500); setTimeout(function () { $('.odometer4').html($('.odometer4').data('count')); }, 2000); setTimeout(function () { $('.odometer5').html($('.odometer5').data('count')); }, 2500); setTimeout(function () { $('.odometer6').html($('.odometer6').data('count')); }, 3000); setTimeout(function () { $('.odometer7').html($('.odometer7').data('count')); }, 3500); setTimeout(function () { $('.odometer8').html($('.odometer8').data('count')); }, 4000); }, { offset: 800, triggerOnce: true }); /** * Masonry Posts Layout */ var grid = document.querySelector( '.construction-masonry' ), masonry; if ( grid && typeof Masonry !== undefined && typeof imagesLoaded !== undefined ) { imagesLoaded(grid, function (instance) { masonry = new Masonry(grid, { itemSelector: '.hentry', gutter: 15 }); }); } /** * Testimonial */ $('.testimonial_slider').owlCarousel({ loop: true, margin: 10, dots: true, smartSpeed: 2000, autoplay: true, autoplayTimeout: 5000, nav: true, navText: ["", ""], items: $('.testimonial_slider').data('columns') || 3, rtl: brtl, responsive: { 0: { items: 1 }, 600: { items: 2 }, 1000: { items: 3 } } }); /** * Client logo owl slider */ $(' .client_logo').owlCarousel({ loop: true, margin: 10, dots: false, nav: false, autoplay: true, smartSpeed: 3000, autoplayTimeout: 5000, rtl: brtl, responsive: { 0: { items: 2 }, 600: { items: 4 }, 1000: { items: 5 } } }); /** * Add Icon Sub Menu */ $('.box-header-nav .menu-item-has-children').append(''); //$('.box-header-nav .page_item_has_children').append(' '); $('.box-header-nav .sub-toggle').click(function () { $(this).parent('.menu-item-has-children').children('ul.sub-menu').first().toggle(); $(this).children('.fa-plus').first().toggleClass('fa-minus'); }); $(".header-nav-toggle").keydown(function (event) { if (event.keyCode === 13) { event.preventDefault(); jQuery(".box-header-nav.main-menu-wapper").show(); } }); /******************** * search * *****************/ $('.search_main_menu a').click(function () { $('.ss-content').addClass('ss-content-act'); }); $('.ss-close').click(function () { $('.ss-content').removeClass('ss-content-act'); }); /******************** * init wow js * *****************/ var wow = new WOW({ boxClass: 'wow', // animated element css class (default is wow) animateClass: 'animated', // animation css class (default is animated) offset: 0, // distance to the element when triggering the animation (default is 0) mobile: true, // trigger animations on mobile devices (default is true) live: true, // act on asynchronously loaded content (default is true) callback: function (box) { // the callback is fired every time an animation is started // the argument that is passed in is the DOM node being animated }, scrollContainer: null, // optional scroll container selector, otherwise use window, resetAnimation: true, // reset animation on end (default is true) }); wow.init(); // add all the elements inside modal which you want to make focusable const focusableElements = 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'; const modal = document.querySelector('#conslight-search-wrapper'); // select the modal by it's id if (modal) { const firstFocusableElement = modal.querySelectorAll(focusableElements)[0]; // get first element to be focused inside modal const focusableContent = modal.querySelectorAll(focusableElements); const lastFocusableElement = focusableContent[focusableContent.length - 1]; // get last element to be focused inside modal document.addEventListener('keydown', function (e) { let isTabPressed = e.key === 'Tab' || e.keyCode === 9; if (!isTabPressed) { return; } if (e.shiftKey) { // if shift key pressed for shift + tab combination if (document.activeElement === firstFocusableElement) { lastFocusableElement.focus(); // add focus for the last focusable element e.preventDefault(); } } else { // if tab key is pressed if (document.activeElement === lastFocusableElement) { // if focused has reached to last focusable element then focus first focusable element after pressing tab firstFocusableElement.focus(); // add focus for the first focusable element e.preventDefault(); } } }); firstFocusableElement.focus(); } /** seprate pricing value */ jQuery('.seprate-with-sup').each(function () { var text = jQuery(this).text(); if (text) { var split = text.split(' '); text = text.replace(split[0], "" + split[0] + ""); jQuery(this).html(text); } }); /** seprate title with span */ jQuery('.seprate-with-span').each(function () { var text = jQuery(this).text(); if (text) { var split = text.split(' '); text = text.replace(split[0], "" + split[0] + ""); jQuery(this).html(text); } }); /** timer counter */ if (jQuery('.sparkle-maintenance-countdown').length > 0) { jQuery(".sparkle-maintenance-countdown").each(function () { var dt = jQuery(this).data('date'); if (dt) { jQuery(this).countdown({ date: dt }); } }) } /** * Gallery Light Box */ $("a[rel^='cons-portfolio[work]']").prettyPhoto({ theme: 'light_rounded', slideshow: 5000, autoplay_slideshow: false, keyboard_shortcuts: true, deeplinking: false, default_width: 500, default_height: 344, }); });