$(document).ready(function () { var isInited = false; function onResize() { if ($('.banner-container').length) { $('.banner-container .carousel-item').height('inherit'); if ($('nav.nav-mobile').is(':visible')) { if ($('.banner-container').is(':visible')) { $('.banner-container').find('.carousel-item, .slick-list, .slick-track').outerHeight($(window).height()) } } } lastScrollTop = $(document).scrollTop(); // $('.tangram_canvas, .animation_container, .dom_overlay_container').width(100).height(100); } var lastScrollTop = 0; var isScrollAnimating = false; var scrollTolence = 10; var onScrollTimeout; var isScrolling = false; var isScrollByTouch = false; var isMouseDown = false; function onScroll() { return; isScrolling = true; if (isMouseDown) { isScrollByTouch = true; } else { isScrollByTouch = false; } if (!isScrollByTouch) { if ($('.banner-container').length) { $('.sidemenu').css({ left: $('.content-container').offset().left - $('.sidemenu-container').width() - 10, top: $('.banner-container').is(':visible') ? Math.max(0, $('.banner-container').height() - $(document).scrollTop()) : 0 }).width($('.sidemenu-container').width()); } clearTimeout(onScrollTimeout); onScrollTimeout = setTimeout(onScrolled, 100); } } $(window).on('mousedown touchstart', function () { isScrollByTouch = false; isMouseDown = true; }); $(window).on('mouseup touchend', function () { isMouseDown = false; if (isScrollByTouch) { isScrollByTouch = false; onScrolled(); } }); function onScrolled() { if ($('.banner-container').length) { if (isInited && !isScrollAnimating) { if ($(document).scrollTop() > lastScrollTop + scrollTolence && lastScrollTop < $(window).height()) { // console.log('down'); scrollDown(); } else if ($(document).scrollTop() < lastScrollTop - scrollTolence && $(document).scrollTop() < $(window).height() - scrollTolence) { // console.log('up'); scrollUp(); } } lastScrollTop = $(document).scrollTop(); } else { navToLight(); } } function scrollUp() { if (isScrollAnimating) return; isScrollAnimating = true; navToDark(); // $('.banner-container').slideUp(scrolledUp); $('html,body').animate({ 'scrollTop': '0px' }, 250, scrolledUp); } function scrolledUp() { isScrollAnimating = false; lastScrollTop = $(document).scrollTop(); } function scrollDown() { if (isScrollAnimating) return; isScrollAnimating = true; navToLight(); // $('.banner-container').slideUp(scrolledDown); $('html,body').animate({ 'scrollTop': $(window).height() + 'px' }, 250, scrolledDown); } function scrolledDown() { isScrollAnimating = false; lastScrollTop = $(document).scrollTop(); } function navToDark() { if ($('.banner-container').length) { $('.nav-mobile').addClass('navbar-dark').removeClass('navbar-light bg-light'); } } function navToLight() { $('.nav-mobile').addClass('navbar-light bg-light').removeClass('navbar-dark'); } $(window).on('resize', onResize); $(window).on('resize', onScroll); $(document).on('scroll', onScroll); $('.banner-container .slick-banners').slick({ "prevArrow": '' }).on('beforeChange', function (event, slick, currentSlide, nextSlide) { var delay = $('.banner-container .slick-banners .slick-slide[data-slick-index=' + nextSlide + ']').attr('data-autoplay-speed'); if (!delay) delay = 3000; slick.slickSetOption('autoplaySpeed', delay); }).on('afterChange', function (event, slick, currentSlide) { var logoStyle = $('.banner-container .slick-banners .slick-slide[data-slick-index=' + currentSlide + ']').attr('data-logo-style'); // console.log(logoStyle); $('.banner-container .logo').removeClass('logo-light logo-dark logo-nologo').addClass('logo-' + logoStyle); }); $('.banner-container .slick-banners').slick('slickGoTo', 0); onResize(); onScroll(); $(document).scrollTop() > $(window).outerHeight() ? navToLight() : navToDark(); $('.banner-container .btn-down').on('click', function () { scrollDown(); }); setInterval(function () { $('.banner-container .btn-down').addClass('animated'); setTimeout(function () { $('.banner-container .btn-down').removeClass('animated'); }, 900); }, 3000); isInited = true; });