$(function () { // Hide Header on on scroll down var didScroll; var lastScrollTop = 0; var delta = 5; var navbarHeight = $('#article-header').outerHeight(); var heroHeight = $('#hero-image').outerHeight(); $(window).scroll(function(event){ didScroll = true; }); setInterval(function() { if (didScroll) { hasScrolled(); didScroll = false; } }, 250); function hasScrolled() { var st = $(this).scrollTop(); // Make sure they scroll more than delta if(Math.abs(lastScrollTop - st) <= delta) return; // If they scrolled down and are past the navbar, add class .nav-up. // This is necessary so you never see what is "behind" the navbar. if (st > lastScrollTop && st > navbarHeight){ // Scroll Down $('#article-header').removeClass('nav-down').addClass('nav-up'); } else { // Scroll Up if(st + $(window).height() < $(document).height()) { $('#article-header').removeClass('nav-up').addClass('nav-down'); } } lastScrollTop = st; } //reverse $('.reversetarget').each(function () { var val = $(this).val(); if (val % 2 === 0) { $(this).parent().find('.card-wrapper').addClass('reverseme'); }; }); gsap.registerPlugin('scrollTrigger'); var tl = gsap.timeline(); //heading of the hero tl.to("#hero-image h1", { scrollTrigger: { trigger: "#hero-image h1", start: "top 10%", end: "+=90%", toggleActions: "restart pause reverse pause", scrub: 1, }, yPercent: 75, duration: 2 }); //introduction tl.from(".introduction p", { scrollTrigger: { trigger: ".introduction", end: "+=80%", scrub: 1, // markers:true, toggleActions: "restart pause restart pause", }, yPercent: 60, opacity: 0, duration: 2 }); //program rows tl.from(".progrow", { scrollTrigger: { trigger: ".progrow", scrub: 2, // markers:true, toggleActions: "restart pause restart pause", end: "bottom center" }, opacity: 0.5, stagger: 0.2, duration: 1, yPercent: 100 }); //each article merge and link cards //first: array of the parents, then array of the elements to animate so the parent can be the trigger :) let cardParents = gsap.utils.toArray('.newsblocks'); cardParents.forEach(section => { let wrapper = section.querySelector('.card-wrapper'); tl.from(wrapper, { scrollTrigger: { trigger: section, start: "top bottom", end: "top center", scrub: 2, // markers:true, toggleActions: "restart pause restart pause", }, yPercent: 50, opacity: 0, duration: 1 }); }); //attendee carousel cells tl.from(".carousel-cell", { scrollTrigger: { trigger: ".carousel-cell", scrub: 1, // markers:true, toggleActions: "restart pause restart pause", end: "center bottom" }, opacity: 0.5, duration: 2, yPercent: 50 }); //each element with class ani gsap.utils.toArray(".ani").forEach(wrapper => { tl.from(wrapper, { scrollTrigger: { trigger: wrapper, start: "top bottom", end: "center bottom", // markers:true, scrub: 2, toggleActions: "restart pause restart pause", }, yPercent: 30, opacity: 0, duration: 1 }); }); }); /*******************************************************************/ /* ftrtch dino */ /* [type: JS] [file:template-article] [44.8299] DESIGN*/ /*******************************************************************/ /* 0.6 P>P */ /* db 148 */