패럴랙스 이펙트(제이쿼리/자바스크립트)

$(window).scroll(function(){
    const scrollTop = $(window).scrollTop() + $(window).height()/2;
    $(".scrollTop").text(parseInt(scrollTop));

    $(".content-item").each(function(num){
        $(".s"+(num+1)+"OffsetTop").text( parseInt($("#section"+(num+1)).offset().top) );
    
        if(scrollTop > $(this).offset().top){
            $(".s"+(num+1)+"OffsetTop").css("color","red");
            $(this).addClass("show");
        } else {
            $(".s"+(num+1)+"OffsetTop").css("color","white");
            $(this).removeClass("show");
        }
    });
});
window.addEventListener("scroll", function(){
    let pageYOffset = window.pageYOffset;

    // 출력용
    document.querySelector(".pageYOffset").innerText = pageYOffset;
    document.querySelector(".s1OffsetTop").innerText = document.getElementById("section1").offsetTop;
    document.querySelector(".s2OffsetTop").innerText = document.getElementById("section2").offsetTop;
    document.querySelector(".s3OffsetTop").innerText = document.getElementById("section3").offsetTop;
    document.querySelector(".s4OffsetTop").innerText = document.getElementById("section4").offsetTop;
    document.querySelector(".s5OffsetTop").innerText = document.getElementById("section5").offsetTop;
    document.querySelector(".s6OffsetTop").innerText = document.getElementById("section6").offsetTop;
    document.querySelector(".s7OffsetTop").innerText = document.getElementById("section7").offsetTop;
    document.querySelector(".s8OffsetTop").innerText = document.getElementById("section8").offsetTop;
    document.querySelector(".s9OffsetTop").innerText = document.getElementById("section9").offsetTop;
    for(i=1; i<=9; i++){
        document.querySelector(".s"+i+"OffsetTop").innerText = document.getElementById("section"+i).offsetTop;
    }

    //출력용 글씨색
    if( pageYOffset > document.getElementById("section1").offsetTop ){
        document.querySelector(".s1OffsetTop").style.color = "red";
    } else {
        document.querySelector(".s1OffsetTop").style.color = "black";
    }
    if( pageYOffset > document.getElementById("section2").offsetTop ){
        document.querySelector(".s2OffsetTop").style.color = "red";
    } else {
        document.querySelector(".s2OffsetTop").style.color = "black";
    }
    if( pageYOffset > document.getElementById("section3").offsetTop ){
        document.querySelector(".s3OffsetTop").style.color = "red";
    } else {
        document.querySelector(".s3OffsetTop").style.color = "black";
    }
    if( pageYOffset > document.getElementById("section4").offsetTop ){
        document.querySelector(".s4OffsetTop").style.color = "red";
    } else {
        document.querySelector(".s4OffsetTop").style.color = "black";
    }
    if( pageYOffset > document.getElementById("section5").offsetTop ){
        document.querySelector(".s5OffsetTop").style.color = "red";
    } else {
        document.querySelector(".s5OffsetTop").style.color = "black";
    }
    if( pageYOffset > document.getElementById("section6").offsetTop ){
        document.querySelector(".s6OffsetTop").style.color = "red";
    } else {
        document.querySelector(".s6OffsetTop").style.color = "black";
    }
    if( pageYOffset > document.getElementById("section7").offsetTop ){
        document.querySelector(".s7OffsetTop").style.color = "red";
    } else {
        document.querySelector(".s7OffsetTop").style.color = "black";
    }
    if( pageYOffset > document.getElementById("section8").offsetTop ){
        document.querySelector(".s8OffsetTop").style.color = "red";
    } else {
        document.querySelector(".s8OffsetTop").style.color = "black";
    }
    if( pageYOffset > document.getElementById("section9").offsetTop ){
        document.querySelector(".s9OffsetTop").style.color = "red";
    } else {
        document.querySelector(".s9OffsetTop").style.color = "black";
    }
});

패럴랙스 이펙트(제이쿼리/자바스크립트)

$(window).scroll(function(){
    let scrollTop = $(window).scrollTop();
    // each()
    $(".content-item").each(function(e,i){
        let offset1 = (scrollTop - $(this).offset().top) * 0.1;
        let offset2 = (scrollTop - $(this).offset().top) * 0.2;

        $(this).find(".content-item-desc").css({transform: "translateY("+ -offset2+"px)"})
        $(this).find(".content-item-num").css({transform: "translateY("+offset1+"px)"})
        $(this).find(".content-item-img").css({transform: "translateY("+offset2+"px)"})
    })

    // 출력용
    $(".scrollTop").text(scrollTop);
});
window.addEventListener("scroll",() => {
    let pageYOffset = (window.pageYOffset || document.documentElement.scrollTop);

    // forEach
    document.querySelectorAll(".content-item").forEach((elem) => {
        let target = elem.childNodes[7];
        let offset = (pageYOffset - elem.offsetTop) * 0.2;
        target.style.transform = "translateY("+ -offset +"px)";
    });
});

패럴랙스 이펙트(제이쿼리/자바스크립트)

// 움직임효과
$(document).mousemove(function(e){
    gsap.to(".cursor", {duration: 0.4, left: e.pageX - 10, top: e.pageY - 10, ease: power4.out})
});

// 오버효과
$(".contents em").hover(function(){
    $(".cursor").addClass("active");
}, function(){
    $(".cursor").removeClass("active");
});

// 출력용
$(".info.bottom li").click(function(){
    const text = $(this).text();
    // alert(text);
    $(".info.bottom li").removeClass("active");
    $(this).addClass("active");
    $(".cursor").css("mix-blend-mode", text);
});

// 제목에 마우스오버했을때
$(".info.left h1").hover(function(){
    $(".cursor").addClass("h1over");
}, function(){
    $(".cursor").removeClass("h1over");
});
let pageYOffset = window.pageYOffset;
const scroll = () => {
const newPageYOffset = window.pageYOffset;
const different = newPageYOffset - pageYOffset;

console.log("pageYOffset : " + pageYOffset);
console.log("newPageYOffset : " + newPageYOffset);
console.log("different : " + different);

let target = document.querySelectorAll(".content-item-img");

gsap.to(".content-item-imgWrap", {duration: 0.6, rotate: different * 3, ease: Power4.ease});
gsap.to(".content-item-num", {duration: 0.6, x: different * 3, ease: Power1.ease});
gsap.to(".content-item-desc", {duration: 0.6, skewX: different * 3, ease: Power3.ease});

pageYOffset = newPageYOffset;
requestAnimationFrame(scroll);
}
scroll();

패럴랙스 이펙트(제이쿼리/자바스크립트)

// 글자 쪼개기
$(".content-item-desc").each(function(){
    let text = $(this).text();
    let split = text.split("").join("
document.querySelectorAll(".content-item-desc").forEach(elem => {
    let text = elem.innerText;
    let splitText = text.split("").join("</span><span aria-hidden='true'>");
    splitText = "<span aria-hidden='true'>" + splitText + "</span>";

    elem.innerHTML = splitText;
    elem.setAttribute("aria-label", text);
}); 

window.addEventListener("scroll", () => {
    let pageYOffset = (window.pageYOffset || document.documentElement.scrollTop);

    if( pageYOffset > document.getElementById("section1").offsetTop ){
        document.querySelectorAll("#section1 .content-item-desc span").forEach((elem, index) => {
            setTimeout(() => {
                elem.classList.add("show");
            }, 50 * (index + 1));
        });
    }
    if( pageYOffset > document.getElementById("section2").offsetTop ){
        document.querySelectorAll("#section2 .content-item-desc span").forEach((elem, index) => {
            setTimeout(() => {
                elem.classList.add("show");
            }, 50 * (index + 1));
        });
    }
    if( pageYOffset > document.getElementById("section3").offsetTop ){
        document.querySelectorAll("#section3 .content-item-desc span").forEach((elem, index) => {
            setTimeout(() => {
                elem.classList.add("show");
            }, 50 * (index + 1));
        });
    }
    if( pageYOffset > document.getElementById("section4").offsetTop ){
        document.querySelectorAll("#section4 .content-item-desc span").forEach((elem, index) => {
            setTimeout(() => {
                elem.classList.add("show");
            }, 50 * (index + 1));
        });
    }
    if( pageYOffset > document.getElementById("section5").offsetTop ){
        document.querySelectorAll("#section5 .content-item-desc span").forEach((elem, index) => {
            setTimeout(() => {
                elem.classList.add("show");
            }, 50 * (index + 1));
        });
    }
    if( pageYOffset > document.getElementById("section6").offsetTop ){
        document.querySelectorAll("#section6 .content-item-desc span").forEach((elem, index) => {
            setTimeout(() => {
                elem.classList.add("show");
            }, 50 * (index + 1));
        });
    }
    if( pageYOffset > document.getElementById("section7").offsetTop ){
        document.querySelectorAll("#section7 .content-item-desc span").forEach((elem, index) => {
            setTimeout(() => {
                elem.classList.add("show");
            }, 50 * (index + 1));
        });
    }
    if( pageYOffset > document.getElementById("section8").offsetTop ){
        document.querySelectorAll("#section8 .content-item-desc span").forEach((elem, index) => {
            setTimeout(() => {
                elem.classList.add("show");
            }, 50 * (index + 1));
        });
    }
    if( pageYOffset > document.getElementById("section9").offsetTop ){
        document.querySelectorAll("#section9 .content-item-desc span").forEach((elem, index) => {
            setTimeout(() => {
                elem.classList.add("show");
            }, 50 * (index + 1));
        });
    }

});

패럴랙스 이펙트(제이쿼리/자바스크립트)

$("a[href^='#']").click(function(e){
    e.preventDefault();
    let target = $( $(this).attr("href") );
    $("html,body").animate({scrollTop : target.offset().top},800, "easeInOutQuint");
});
document.querySelectorAll("a[href^='#']").forEach(elem => {
    elem.addEventListener("click", e => {
        e.preventDefault();
        document.querySelector(elem.getAttribute('href')).scrollIntoView({
            behavior : 'smooth'
        })
    });
});

패럴랙스 이펙트(제이쿼리/자바스크립트)

$(window).scroll(function(){
    let scrollTop = $(window).scrollTop();
    // if ( scrollTop > $("#section2").offset().top ) {
    //     $("#section2").addClass("show");
    // }
    $(".reveal").each(function(){
        if( scrollTop + $(window).height()/2 > $(this).offset().top ){
            $(this).addClass("show");
        }
    });
});
window.addEventListener("scroll", () => {
    let pageYOffset = (window.pageYOffset || document.documentElement.scrollTop);
    let wHeight = window.innerHeight;
    document.querySelectorAll(".reveal").forEach((elem) => {
        if (pageYOffset + wHeight / 2 > elem.parentElement.offsetTop) {
            elem.classList.add("show");
        }
        console.log(elem)
    });
});