$(window).on('load', function() { "use strict"; /*========================================================================= Menu Clicks =========================================================================*/ // Show the first tab and hide the rest $('.anchor-menu li:first-child a').addClass('active'); $('.animated-section:first').addClass('section-visible'); // Click function $('.anchor-menu li a, a.section-link').on('click', function(){ $('.anchor-menu li a').removeClass('active'); $(this).addClass('active'); $('.animated-section').removeClass('section-visible'); var activeTab = $(this).attr('href'); $(activeTab).addClass('section-visible'); return false; }); if(window.location.hash) { $('.animated-section').removeClass('section-visible'); $(window.location.hash).addClass('section-visible'); } else { } /*========================================================================= Preloader =========================================================================*/ $("#preloader").delay(750).fadeOut('slow'); $(".site-wrapper").delay(750).fadeIn('slow'); /*========================================================================= Isotope =========================================================================*/ $('.portfolio-filter').on( 'click', 'li', function() { var filterValue = $(this).attr('data-filter'); $container.isotope({ filter: filterValue }); }); // change is-checked class on buttons $('.portfolio-filter').each( function( i, buttonGroup ) { var $buttonGroup = $( buttonGroup ); $buttonGroup.on( 'click', 'li', function() { $buttonGroup.find('.current').removeClass('current'); $( this ).addClass('current'); }); }); var $container = $('.portfolio-wrapper'); $container.imagesLoaded( function() { $('.portfolio-wrapper').isotope({ // options itemSelector: '[class*="col-"]', percentPosition: true, masonry: { // use element for option columnWidth: '[class*="col-"]' } }); }); var bolbyPopup = function(){ /*========================================================================= Magnific Popup =========================================================================*/ $('.work-image').magnificPopup({ type: 'image', closeBtnInside: false, mainClass: 'my-mfp-zoom-in', }); $('.work-content').magnificPopup({ type: 'inline', fixedContentPos: true, fixedBgPos: true, overflowY: 'auto', closeBtnInside: false, preloader: false, midClick: true, removalDelay: 300, mainClass: 'my-mfp-zoom-in' }); $('.work-video').magnificPopup({ type: 'iframe', closeBtnInside: false, iframe: { markup: '
'+ '
'+ ''+ '
', patterns: { youtube: { index: 'youtube.com/', id: 'v=', src: 'https://www.youtube.com/embed/%id%?autoplay=1' }, vimeo: { index: 'vimeo.com/', id: '/', src: '//player.vimeo.com/video/%id%?autoplay=1' }, gmaps: { index: '//maps.google.', src: '%id%&output=embed' } }, srcAction: 'iframe_src', } }); $('.gallery-link').on('click', function () { $(this).next().magnificPopup('open'); }); $('.gallery').each(function () { $(this).magnificPopup({ delegate: 'a', type: 'image', closeBtnInside: false, gallery: { enabled: true, navigateByImgClick: true }, fixedContentPos: false, mainClass: 'my-mfp-zoom-in', }); }); } bolbyPopup(); /*========================================================================= Infinite Scroll =========================================================================*/ var curPage = 1; var pagesNum = $(".portfolio-pagination").find("li a:last").text(); // Number of pages $container.infinitescroll({ itemSelector: '.grid-item', nextSelector: '.portfolio-pagination li a', navSelector: '.portfolio-pagination', extraScrollPx: 0, bufferPx: 0, maxPage: 6, loading: { finishedMsg: "No more works", msgText: '', speed: 'slow', selector: '.load-more', } }, // trigger Masonry as a callback function( newElements ) { var $newElems = $( newElements ); $newElems.imagesLoaded(function(){ $newElems.animate({ opacity: 1 }); $container.isotope( 'appended', $newElems ); }); bolbyPopup(); // Check last page curPage++; if(curPage == pagesNum) { $( '.load-more' ).remove(); } }); $container.infinitescroll( 'unbind' ); $( '.load-more .btn' ).on('click', function() { $container.infinitescroll( 'retrieve' ); // display loading icon $( '.load-more .btn i' ).css('display', 'inline-block'); $( '.load-more .btn i' ).addClass('fa-spin'); $(document).ajaxStop(function () { setTimeout(function(){ // hide loading icon $( '.load-more .btn i' ).hide(); }, 1000); }); return false; }); /* ======= Mobile Filter ======= */ // bind filter on select change $('.portfolio-filter-mobile').on( 'change', function() { // get filter value from option value var filterValue = this.value; // use filterFn if matches value filterValue = filterFns[ filterValue ] || filterValue; $container.isotope({ filter: filterValue }); }); var filterFns = { // show if number is greater than 50 numberGreaterThan50: function() { var number = $(this).find('.number').text(); return parseInt( number, 10 ) > 50; }, // show if name ends with -ium ium: function() { var name = $(this).find('.name').text(); return name.match( /ium$/ ); } }; }); $(document).on('ready', function() { "use strict"; /*========================================================================= Slick Slider =========================================================================*/ $('.testimonials-wrapper').slick({ dots: true, arrows: true, autoplay: false, responsive: [ { breakpoint: 991, settings: { arrows: false } } ] }); $('.clients-wrapper').slick({ dots: true, arrows: false, autoplay: false, autoplaySpeed: 3000, slidesToShow: 4, slidesToScroll: 4, responsive: [ { breakpoint: 1024, settings: { slidesToShow: 3, slidesToScroll: 3, infinite: true, dots: true } }, { breakpoint: 600, settings: { slidesToShow: 2, slidesToScroll: 2 } }, { breakpoint: 480, settings: { slidesToShow: 1, slidesToScroll: 1 } } ] }); }); $(function(){ "use strict"; /*========================================================================= Mobile Menu Toggle =========================================================================*/ $('.menu-icon button').on( 'click', function() { $('header.header, main.content').toggleClass('open'); }); $('.menu-icon button').on( 'click', function() { $('header.mobile-header').toggleClass('open'); $('.menu-icon button span').toggleClass('open'); }); $('main.content').on( 'click', function() { $('header.header, main.content, header.mobile-header').removeClass('open'); $('.menu-icon button span').removeClass('open'); }); $('.main-menu li a, .main-menu li').on( 'click', function() { $('header.header, main.content, header.mobile-header').removeClass('open'); $('.menu-icon button span').removeClass('open'); }); /*========================================================================= Spacer with Data Attribute =========================================================================*/ var list = document.getElementsByClassName('spacer'); for (var i = 0; i < list.length; i++) { var size = list[i].getAttribute('data-height'); list[i].style.height = "" + size + "px"; } /*========================================================================= Background Image with Data Attribute =========================================================================*/ var list = document.getElementsByClassName('data-bg-image'); for (var i = 0; i < list.length; i++) { var bgimage = list[i].getAttribute('data-bg-image'); list[i].style.backgroundImage = "url('" + bgimage + "')"; } /*========================================================================= Background Color with Data Attribute =========================================================================*/ var list = document.getElementsByClassName('data-bg-color'); for (var i = 0; i < list.length; i++) { var bgcolor = list[i].getAttribute('data-bg-color'); list[i].style.backgroundColor = "" + bgcolor + ""; } /*========================================================================= Color with Data Attribute =========================================================================*/ var list = document.getElementsByClassName('data-color'); for (var i = 0; i < list.length; i++) { var color = list[i].getAttribute('data-color'); list[i].style.color = "" + color + ""; } /*========================================================================= Border Color with Data Attribute =========================================================================*/ var list = document.getElementsByClassName('data-border-color'); for (var i = 0; i < list.length; i++) { var border_color = list[i].getAttribute('data-border-color'); list[i].style.borderColor = "" + border_color + ""; } /*========================================================================= Progress Bar width with Data Attribute =========================================================================*/ var list = document.getElementsByClassName('progress-bar'); for (var i = 0; i < list.length; i++) { var barwidth = list[i].getAttribute('data-width'); list[i].style.width = "" + barwidth + "%"; } /*========================================================================= Main Menu =========================================================================*/ $( ".submenu" ).before( '' ); $(".vertical-menu li i.switch").on( 'click', function() { var $submenu = $(this).next(".submenu"); $submenu.slideToggle(300); $submenu.parent().toggleClass("openmenu"); }); /*========================================================================= Custom cursor =========================================================================*/ /* var mouse = { x: 0, y: 0 }; var pos = { x: 0, y: 0 }; var ratio = 0.25; var active = false; var ball = document.getElementById("ball"); */ TweenLite.set(ball, { xPercent: -50, yPercent: -50 }); document.addEventListener("mousemove", mouseMove); function mouseMove(e) { var scrollTop = window.pageYOffset || document.documentElement.scrollTop; mouse.x = e.pageX; mouse.y = e.pageY - scrollTop; } TweenLite.ticker.addEventListener("tick", updatePosition); function updatePosition() { if (!active) { pos.x += (mouse.x - pos.x) * ratio; pos.y += (mouse.y - pos.y) * ratio; TweenLite.set(ball, { x: pos.x, y: pos.y }); } } $('a, button, .portfolio-filter li').on('mouseenter', function(event) { TweenMax.to(ball, 0.3, { scale: 2.5, borderWidth: '0', background: 'rgba(0,0,0,0.1)' }); }).on('mouseleave', function() { TweenMax.to(ball, 0.3, { scale: 1, borderWidth: '1px', background: 'none' }); } ); $('.simplebar-scrollbar').on('mouseenter touchstart', function(event) { $('#ball').addClass('empty'); TweenLite.ticker.addEventListener("tick", updatePosition); TweenMax.to(ball, 0.3, { scale: 6.5, borderWidth: '0', background: 'rgba(0,0,0,1)' }); }).on('mouseleave touchend', function() { } ); $('.portfolio-link').on('mouseenter', function(event) { TweenMax.to(ball, 0.3, { scale: 2.5, borderWidth: '0', background: 'rgba(0,0,0,0.4)' }); $('#ball').addClass('plus'); }).on('mouseleave', function() { TweenMax.to(ball, 0.3, { scale: 1, borderWidth: '1px', background: 'none' }); $('#ball').removeClass('plus'); } ); $('.blog-link').on('mouseenter', function(event) { TweenMax.to(ball, 0.3, { scale: 2.5, borderWidth: '0', background: 'rgba(0,0,0,0.4)' }); $('#ball').addClass('link'); }).on('mouseleave', function() { TweenMax.to(ball, 0.3, { scale: 1, borderWidth: '1px', background: 'none' }); $('#ball').removeClass('link'); } ); $('.section-inner').each((index, element) => new SimpleBar(element), { autoHide: false }); });