/* JS Document */ /****************************** [Table of Contents] 1. Vars and Inits 2. Set Header 3. Init Menu 4. Init Header Search 5. Init Home Slider 6. Initialize Milestones ******************************/ $(document).ready(function() { "use strict"; /* 1. Vars and Inits */ var header = $('.header'); var menuActive = false; var menu = $('.menu'); var burger = $('.hamburger'); var ctrl = new ScrollMagic.Controller(); setHeader(); $(window).on('resize', function() { setHeader(); }); $(document).on('scroll', function() { setHeader(); }); initMenu(); initHeaderSearch(); initHomeSlider(); initMilestones(); initAccordions(); /* 2. Set Header */ function setHeader() { if($(window).scrollTop() > 100) { //header.addClass('scrolled'); } else { //header.removeClass('scrolled'); } } /* 3. Init Menu */ function initMenu() { if($('.menu').length) { var menu = $('.menu'); if($('.hamburger').length) { burger.on('click', function() { if(menuActive) { closeMenu(); } else { openMenu(); $(document).one('click', function cls(e) { if($(e.target).hasClass('menu_mm')) { $(document).one('click', cls); } else { closeMenu(); } }); } }); } } } function openMenu() { menu.addClass('active'); menuActive = true; } function closeMenu() { menu.removeClass('active'); menuActive = false; } /* 4. Init Header Search */ function initHeaderSearch() { if($('.search_button').length) { $('.search_button').on('click', function() { if($('.header_search_container').length) { $('.header_search_container').toggleClass('active'); } }); } } /* 5. Init Home Slider */ function initHomeSlider() { if($('.home_slider').length) { var homeSlider = $('.home_slider'); homeSlider.owlCarousel( { items:1, loop:true, autoplay:true, nav:false, dots:false, smartSpeed:1200 }); if($('.home_slider_prev').length) { var prev = $('.home_slider_prev'); prev.on('click', function() { homeSlider.trigger('prev.owl.carousel'); }); } if($('.home_slider_next').length) { var next = $('.home_slider_next'); next.on('click', function() { homeSlider.trigger('next.owl.carousel'); }); } } } /* 6. Initialize Milestones */ function initMilestones() { if($('.milestone_counter').length) { var milestoneItems = $('.milestone_counter'); milestoneItems.each(function(i) { var ele = $(this); var endValue = ele.data('end-value'); var eleValue = ele.text(); /* Use data-sign-before and data-sign-after to add signs infront or behind the counter number */ var signBefore = ""; var signAfter = ""; if(ele.attr('data-sign-before')) { signBefore = ele.attr('data-sign-before'); } if(ele.attr('data-sign-after')) { signAfter = ele.attr('data-sign-after'); } var milestoneScene = new ScrollMagic.Scene({ triggerElement: this, triggerHook: 'onEnter', reverse:false }) .on('start', function() { var counter = {value:eleValue}; var counterTween = TweenMax.to(counter, 4, { value: endValue, roundProps:"value", ease: Circ.easeOut, onUpdate:function() { document.getElementsByClassName('milestone_counter')[i].innerHTML = signBefore + counter.value + signAfter; } }); }) .addTo(ctrl); }); } } function initAccordions() { if($('.accordion').length) { var accs = $('.accordion'); accs.each(function() { var acc = $(this); if(acc.hasClass('active')) { var panel = $(acc.next()); var panelH = panel.prop('scrollHeight') + "px"; if(panel.css('max-height') == "0px") { panel.css('max-height', panel.prop('scrollHeight') + "px"); } else { panel.css('max-height', "0px"); } $(window).trigger('resize.px.parallax'); } acc.on('click', function() { if(acc.hasClass('active')) { acc.removeClass('active'); var panel = $(acc.next()); var panelH = panel.prop('scrollHeight') + "px"; if(panel.css('max-height') == "0px") { panel.css('max-height', panel.prop('scrollHeight') + "px"); } else { panel.css('max-height', "0px"); } $(window).trigger('resize.px.parallax'); } else { acc.addClass('active'); var panel = $(acc.next()); var panelH = panel.prop('scrollHeight') + "px"; if(panel.css('max-height') == "0px") { panel.css('max-height', panel.prop('scrollHeight') + "px"); } else { panel.css('max-height', "0px"); } $(window).trigger('resize.px.parallax'); } }); }); } } });