/* JS Document */ /****************************** [Table of Contents] 1. Vars and Inits 2. Set Header 3. Init Menu 4. Init Main Slider 5. Init Progress Bars 6. Init Testimonials Slider 7. Init Clients Slider 8. Init Parallax ******************************/ $(document).ready(function() { "use strict"; /* 1. Vars and Inits */ var ctrl = new ScrollMagic.Controller(); var controller = new ScrollMagic.Controller(); var header = $('.header'); var menuActive = false; var hamb = $('.hamburger_container'); var menu = $('.fs_menu_container'); var hambIcon = $('.hamburger_icon'); setHeader(); $(window).on('resize', function() { setHeader(); }); $(document).on('scroll', function() { setHeader(); }); initMenu(); initMainSlider(); initProgressBars(); initTestimonialsSlider(); initClientsSlider(); initParallax(); /* 2. Set Header */ function setHeader() { if(window.innerWidth < 992) { if($(window).scrollTop() > 100) { header.css({'height':"80"}); } else { header.css({'height':"110"}); } } else { if($(window).scrollTop() > 100) { header.css({'height':"80"}); } else { header.css({'height':"110"}); } } if(window.innerWidth > 991 && menuActive) { closeMenu(); } } /* 3. Init Menu */ function initMenu() { if($('.hamburger_container').length) { hamb.on('click', function() { if(!menuActive) { openMenu(); } else { closeMenu(); } }); } } function openMenu() { menu.addClass('active'); setTimeout(function() { hambIcon.addClass('active'); },500); menuActive = true; } function closeMenu() { menu.removeClass('active'); setTimeout(function() { hambIcon.removeClass('active'); },500); menuActive = false; } /* 4. Init Main Slider */ function initMainSlider() { if($('.hero_slider').length) { var heroSlider = $('.hero_slider'); heroSlider.owlCarousel({ items: 1, loop: true, autoplay:true, autoplayTimeout:5000, autoplaySpeed:800, smartSpeed:800, dotsContainer:'main_slider_custom_dots' }); /* Custom dots events */ if($('.main_slider_custom_dot').length) { $('.main_slider_custom_dot').on('click', function() { $('.main_slider_custom_dot').removeClass('active'); $(this).addClass('active'); heroSlider.trigger('to.owl.carousel', [$(this).index(), 300]); }); } /* Change active class for dots when slide changes by nav or touch */ heroSlider.on('changed.owl.carousel', function(event) { $('.main_slider_custom_dot').removeClass('active'); $('.main_slider_custom_dots li').eq(event.page.index).addClass('active'); }); /* Custom navigation */ if($('.main_slider_nav').length) { $('.main_slider_nav_left').on('click', function() { heroSlider.trigger('prev.owl.carousel'); }); $('.main_slider_nav_right').on('click', function() { heroSlider.trigger('next.owl.carousel'); }); } } } /* 5. Init Progress Bars */ function initProgressBars() { if($('.skill_bars').length) { var bars = $('.skill_bars'); bars.each(function() { var ele = $(this); var elePerc = ele.data('perc'); var eleName = '#'+ele.data('name'); var statsScene = new ScrollMagic.Scene({ triggerElement: this, triggerHook: 'onEnter', reverse:false }) .on('start', function() { var pbar = new ProgressBar.Line(eleName, { strokeWidth: 0.5, easing: 'easeInOut', duration: 1400, color: '#ff4200', trailColor: 'rgba(255,255,255,1)', trailWidth: 1, svgStyle: {display: 'block', width: '100%', height: '100%'}, text: { style: { // Text color. // Default: same as stroke color (options.color) color: '#FFFFFF', position: 'absolute', left: 'calc' + '(' + (elePerc * 100) + '% - 48px' + ')', top: '17px', padding: 0, margin: 0, transform: null }, autoStyleContainer: false }, from: {color: '#00bcd5'}, to: {color: '#00bcd5'}, step: function(state, bar) { bar.setText(Math.round(bar.value() * 100) + ' %'); } }); pbar.animate(elePerc); }) .addTo(ctrl); }) } } /* 6. Init Testimonials Slider */ function initTestimonialsSlider() { if($('.testimonials_slider').length) { var testSlider = $('.testimonials_slider'); testSlider.owlCarousel( { items:1, loop:true, dots:false }); if($('.test_slider_nav').length) { var navLeft = $('.test_slider_nav_left'); var navRight = $('.test_slider_nav_right'); navLeft.on('click', function() { testSlider.trigger('prev.owl.carousel'); }); navRight.on('click', function() { testSlider.trigger('next.owl.carousel'); }); } } } /* 7. Init Clients Slider */ function initClientsSlider() { if($('.clients_slider').length) { var clientsSlider = $('.clients_slider'); clientsSlider.owlCarousel( { loop: true, dots: false, responsive: { 0:{items:1}, 575:{items:2}, 768:{items:3}, 992:{items:4}, 1199:{items:5} } }); } } /* 8. Init Parallax */ function initParallax() { // Add parallax effect to home slider if($('.slider_prlx').length) { var homeBcg = $('.slider_prlx'); var homeBcgScene = new ScrollMagic.Scene({ triggerElement: homeBcg, triggerHook: 1, duration: "100%" }) .setTween(TweenMax.to(homeBcg, 1, {y: '15%', ease:Power0.easeNone})) .addTo(ctrl); } // Add parallax effect to every element with class prlx // Add class prlx_parent to the parent of the element if($('.prlx_parent').length && $('.prlx').length) { var elements = $('.prlx_parent'); elements.each(function() { var ele = this; var bcg = $(ele).find('.prlx'); var slideParallaxScene = new ScrollMagic.Scene({ triggerElement: ele, triggerHook: 1, duration: "200%" }) .setTween(TweenMax.from(bcg, 1, {y: '-30%', ease:Power0.easeNone})) .addTo(ctrl); }); } } });