webs portfoliodeveloper

Port developer

Talent is
found at the end of the
effort

challenge

1.

꿈을 설계하고 디자인하다. 나는 공간을 만드는 것을 좋아한다. 어려을 때부터 나만의 공간을 만드는 것을 좋아했고 나만의 다락방을 좋아했다. 단 한 사람이라도 내가 만든 공간 속에서 영감을 받거나 마음이 움직였으면 좋겠다. 나만의 공간을 마음것 만들 수 있다는 건 코딩에 엄청난 매력인거 같다. 그 한구석에 나만의 꿈을 설계하고, 개발을 하며 앞으로도 살고 싶다.

2.

열심히 할수록 기회는 따른다. 운이 좋은 사람은 없다. 단지 운을 만들 뿐이다. 운을 만들기 위해서는 내가 좋아하는 일이나 내가 하고 싶은 일에 몰두하면 된다. 몰두 하다보면 길이 보이고 방향이 보이게 된다. 운이란 고된 노동과 노력을 통해 스스로 만들어 내는 것이다.

3.

나에게 정직하다. 정직은 다른 사람보다 나에게 큰 의미를 부여해야 한다. 자신이 정직하지 않으면 진정으로 원하는 일을 열정적으로 밀고 나갈 수 없다. 마음에서 우러나오는 일을 해야 정직해지며 삶을 더 즐길 줄 알게 된다.

completed 전체 보기

김현로 포트폴리오

스터디 과정 26기 수료 | 김현* 프론트 취업 완료

포폴 보기
양다윗 포트폴리오

스터디 과정 26기 수료 | 양다* 프론트 취업 완료

포폴 보기
김아람 포트폴리오

스터디 과정 26기 수료 | 김아* 프론트 취업 완료

포폴 보기
김가람 포트폴리오

스터디 과정 26기 수료 | 김가* 프론트 취업 완료

포폴 보기
이태용 포트폴리오

스터디 과정 25기 수료 | 이태* 프론트 취업 완료

포폴 보기
양다윗 포트폴리오

스터디 과정 26기 수료 | 양다* 프론트 취업 완료

포폴 보기
김아람 포트폴리오

스터디 과정 26기 수료 | 김아* 프론트 취업 완료

포폴 보기
김가람 포트폴리오

스터디 과정 26기 수료 | 김가* 프론트 취업 완료

포폴 보기
이태용 포트폴리오

국비지원 과정 30기 수료 | 김성* 프론트 취업 완료

포폴 보기
김상준 포트폴리오

국비지원 과정 30기 수료 | 양다* 프론트 취업 완료

포폴 보기
이영환 포트폴리오

국비지원 과정 30기 수료 | 이영* 프론트 취업 완료

포폴 보기
이중호 포트폴리오

국비지원 과정 30기 수료 | 이중* 프론트 취업 완료

포폴 보기
박선혜 포트폴리오

국비지원 과정 30기 수료 | 박선* 프론트 취업 완료

포폴 보기
최진주 포트폴리오

국비지원 과정 30기 수료 | 최진* 프론트 취업 완료

포폴 보기
김석준 포트폴리오

국비지원 과정 30기 수료 | 김석* 프론트 취업 완료

포폴 보기
김대원 포트폴리오

국비지원 과정 30기 수료 | 김대* 프론트 취업 완료

포폴 보기
권규비 포트폴리오

국비지원 과정 30기 수료 | 권규* 프론트 취업 완료

포폴 보기
권혜현 포트폴리오

국비지원 과정 30기 수료 | 권혜* 프론트 취업 완료

포폴 보기
김민정 포트폴리오

국비지원 과정 30기 수료 | 김민* 프론트 취업 완료

포폴 보기
김대원 포트폴리오

국비지원 과정 30기 수료 | 김대* 프론트 취업 완료

포폴 보기

portfolio 전체 보기

01

재밌는 포트폴리오

발랄한 느낌의 포트폴리오 사이트입니다. 스크롤을 통해 작업물을 보여주는 스토리가 담긴 포트폴리오입니다. 중간 중간에 재밌는 애니메이션과 효과들이 인상적이네요!

02

포트포리오

디자인이 돋보이는 포트폴리오입니다. 스크롤을 할 때마다 움직이는 애니메이션이 좋고, 섹션별로 구성이 잘 되어 있는 포폴입니다. 구름의 움직임과 종이비행기의 움직임도 좋네요!

03

프론트앤드 개발자

스므스 효과와 이모티콘 움직임 효과가 인상적인 포트폴리오입니다. 오른쪽 아이콘을 누르면 모든 정보가 정리되어 있는 것이 좋네요! 모든 내용들이 섹션별로 잘 들어가고 효과가 멋있는 프론트앤드 개발자 포트폴리오입니다.

04

프론트앤드 개발자

마우스 움직임에 따라 눈동자가 움직이는 포트폴리오입니다. 깔금하면서도 적절하게 가로모드가 들어가고, 작업물들을 쉽게 볼 수가 있어서, 가독성도 좋은 포트폴리오입니다.

05

프론트앤드 포트폴리오

프론트를 목표로 심플하게 만든 포트폴리오입니다. 사이트의 화려함보다는 내용에 충실한 사이트입니다. 리액트와 뷰를 위주로 포폴을 작업하였으며, 댓글 기능도 추가된 사이트입니다.

06

가로 세로 포트폴리오

가로와 세로가 적절하게 들어간 포폴입니다. 애니메이션의 움직과 확대 축소가 스크롤을 통해 잘 반영된 포트폴리오입니다. 만든 분 인상도 한 몫하는 것 같네요!.

07

귀여운 포트폴리오

알록달록하고 귀여운 포트폴리오 사이트입니다. 가로와 세로를 번갈아 가면서 표현된 포트폴리오입니다. 자기소개 하는 부분이 인상적인 포트폴리오입니다.

08

쿨한 포트폴리오

누가봐도 상큼함이 묻어나는 포폴입니다. 그 사람의 성격이 그대로 보이는 포트폴리오 같습니다. 애니메이션과 스크롤 효과가 돋보이는 포트폴리오 사이트입니다.

09

페이지 포트폴리오

페이지별로 주제를 보여주는 포트폴리오입니다. 페이지 트랜지션을 이용하여 애니메이션을 구현하였고, 작업물을 페이지별로 일목요연하게 보여주는 포트폴리오 사이트입니다.

10

프론트앤드 개발자

개성이 넘치는 포트폴리오입니다. 포트폴리오를 들어갈 때마다 색이 변경되고, 드래그 기능을 통해 요소를 마음대로 컨트롤 할 수 있습니다. 깔끔한 포트폴리오입니다.

11

프론트앤드 개발자

노란색 배경의 산뜻한 포트폴리오입니다. 가로모드가 적절하게 들어간 깔끔한 느낌의 포트폴리오입니다. 스므스 효과를 이용하여 조금더 고급적으로 표현하였습니다.

12

프론트앤드 개발자

중후한 느낌의 포트폴리오입니다. GSAP를 이용한 메인애니메이션과 가로모드와 THREE.JS효과가 돋보이는 포트폴리오입니다.

13

프론트앤드 개발자

고급적인 느낌을 많이 표현하기 위한 포트폴리오입니다. 최대한 깔끔하면서도 군더더기 없는 포트폴리오를 지향하는 사이트입니다.

14

웹 퍼블리셔

어바웃에 대한 소개와 애니메이션이 재밌게 표현된 포트폴리오 사이트입니다. 스므스 효과와 애니메이션이 재밌게 표현되고, 가로모드와 스터디 등이 잘 표현된 사이트입니다.

15

프론트앤드 개발자

가로모드와 텍스트 애니메이션이 돋보이는 포트폴리오 사이트입니다. GSAP를 이용한 스크롤트리거 효과가 멋잇는 포트폴리오 사이트입니다.

16

프론트앤드 개발자

폰트의 느낌이 좋은 포트폴리오 사이트입니다. 어바웃 소개 애니메이션과 스티키 효과를 이용한 애니메이션이 돋보이는 포트폴리오 사이트입니다.

17

프론트앤드 개발자

우주 영화에서 많이 나오는 컨셉의 SF 시리트 포트폴리오입니다. 메인 로딩 애니메이션부터 디테일한 부분까지 신경을 많이 쓴 포트폴리오 사이트입니다.

18

프론트앤드 개발자

리액트로 만든 프론트앤드 개발자 포트폴리오 사이트입니다. 문구도 인상적이지고 스크롤 할 때의 애니메이션도 좋은 포트폴리오 사이트입니다.

19

디자인 및 퍼블리셔

Three.js를 이용한 포트폴리오 사이트입니다. 분홍느낌의 귀엽고 아기자기한 포트폴리오 사이트입니다. 토끼가 정말 사랑스러운 포폴입니다.

20

프론트앤드 개발자

리액트로 개발된 포트폴리오 사이트입니다. 사이트 구성과 스크롤 효과가 멋있는 사이트이며, 스티키 효과와 가로모드가 적절하게 잘 조화된 포트폴리오입니다.

interview 전체보기

준비중
준비중
준비중
준비중

review

스터디 후기 이다*

이력서도 봐주시고, 회사정보, 면접질문 외워라!!!! 많이 말씀해주심. 기술 질문과 인성질문 잘 기록해놓고 외우세요,,,, 공부한 프로그램, 개발환경, 어디까지 배운건지, 그런 전체적인 틀? 이해를 하고 면접때 잘 설명 하셔야 합니다! 그리고 계속 배우고 있다는 열정열정열쩡을 어필하세요!!!! 쌤이 알려주는것말고도 따로 계속 공부하셔야 되요. 자바스크립트도, 강의들은것도...

스터디 후기 이다*

ddd
ddd
ddd
ddd
ddd
ddd
ddd
ddd
ddd
ddd
본문 바로가기

Webstoryboy

*

CATAGORY

Code

기타(삭제예정)/04 PARALLAX EFFECT

PARALLAX EFFECT08 - JQUERY

패럴랙스 배우기 튜토리얼입니다.

이 강의는 기본적인 HTML, CSS, JavaScript, JQuery를 알고 있어야 배울 수 있는 강의입니다.
웹표준 강의, 반응형 강의, 메가박스 강의를 보고 오시면 도움이 됩니다.^^

모든 강의는 소스를 보면서 따라하는 튜토리얼입니다.

Code Youtube

Code Sample

전체 소스는 여기서 다운 받을 수 있습니다.

바로가기

샘플 소스는 여기서 확인 할 수 있습니다.

바로가기

Source Reference

Value link
이미지1 https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg1.jpg
이미지2 https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg2.jpg
이미지3 https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg3.jpg
이미지4 https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg4.jpg
이미지5 https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg5.jpg
이미지6 https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg6.jpg
이미지7 https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg7.jpg
이미지8 https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg8.jpg
이미지9 https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg9.jpg
jquery https://webstoryboy.github.io/wtss/refer-effect/assets/js/jquery.min.js

Code example

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Parallax Effect</title>

    <link href="https://fonts.googleapis.com/css2?family=Lato:wght@100&display=swap" rel="stylesheet">
</head>
<body class="parallax">

    <!-- info -->
    <div class="paraScroll">scrollTop() : <span>0</span>px</div>
    <!-- //info -->

    <header id="paraHeader">
        <h1>Parallax Effect08 - Javascript</h1>
        <p>패럴랙스 스크롤링 효과 - 리빌 효과</p>
    </header>
    <!-- //header -->

    <!-- nav -->
    <nav class="paraNav">
        <ul>
            <li class="active"><a href="#section1">s1</a></li>
            <li><a href="#section2">s2</a></li>
            <li><a href="#section3">s3</a></li>
            <li><a href="#section4">s4</a></li>
            <li><a href="#section5">s5</a></li>
            <li><a href="#section6">s6</a></li>
            <li><a href="#section7">s7</a></li>
            <li><a href="#section8">s8</a></li>
            <li><a href="#section9">s9</a></li>
        </ul>
    </nav>
    <!-- //nav -->

    <main id="paraCont">
        <section id="section1" class="content__item">
            <span class="content__item__num">01</span>
            <h2 class="content__item__title">Section1</h2>
            <figure class="content__item__imgWrap reveal">
                <div class="content__item__img"></div>
            </figure>
            <p class="content__item__desc reveal" data-delay="500"><span>높은 목표를 세우고, 스스로 채찍질 한다.</span></p>
        </section>
        <!-- //section1 -->

        <section id="section2" class="content__item">
            <span class="content__item__num">02</span>
            <h2 class="content__item__title">Section2</h2>
            <figure class="content__item__imgWrap reveal reveal-RTL">
                <div class="content__item__img"></div>
            </figure>
            <p class="content__item__desc reveal reveal-RTL" data-delay="500"><span>결과도 중요하지만, 과정을 더 중요하게 생각한다.</span></p>
        </section>
        <!-- //section2 -->

        <section id="section3" class="content__item">
            <span class="content__item__num">03</span>
            <h2 class="content__item__title">Section3</h2>
            <figure class="content__item__imgWrap reveal reveal-TTB">
                <div class="content__item__img"></div>
            </figure>
            <p class="content__item__desc reveal reveal-TTB" data-delay="500"><span>매 순간에 최선을 다하고, 끊임없이 변화한다.</span></p>
        </section>
        <!-- //section3 -->

        <section id="section4" class="content__item">
            <span class="content__item__num">04</span>
            <h2 class="content__item__title">Section4</h2>
            <figure class="content__item__imgWrap reveal reveal-BTT">
                <div class="content__item__img"></div>
            </figure>
            <p class="content__item__desc reveal reveal-BTT" data-delay="500"><span>모든지 기본을 중요하게 생각하고 행동한다.</span></p>
        </section>
        <!-- //section4 -->

        <section id="section5" class="content__item">
            <span class="content__item__num">05</span>
            <h2 class="content__item__title">Section5</h2>
            <figure class="content__item__imgWrap reveal reveal-two">
                <div class="content__item__img"></div>
            </figure>
            <p class="content__item__desc reveal reveal-two" data-delay="500"><span>열정을 잃지 않고 실패에서 실패로 걸어가는 것이 성공이다.</span></p>
        </section>
        <!-- //section5 -->

        <section id="section6" class="content__item">
            <span class="content__item__num">06</span>
            <h2 class="content__item__title">Section6</h2>
            <figure class="content__item__imgWrap reveal reveal-two reveal-RTL">
                <div class="content__item__img"></div>
            </figure>
            <p class="content__item__desc reveal reveal-two reveal-RTL" data-delay="500"><span>천 마디 말보단 하나의 행동이 더 값지다.</span></p>
        </section>
        <!-- //section6 -->

        <section id="section7" class="content__item">
            <span class="content__item__num">07</span>
            <h2 class="content__item__title">Section7</h2>
            <figure class="content__item__imgWrap reveal reveal-two reveal-TTB">
                <div class="content__item__img"></div>
            </figure>
            <p class="content__item__desc reveal reveal-two reveal-TTB" data-delay="500"><span>조그만 성공에 만족하지 않으며, 방심을 경계한다.</span></p>
        </section>
        <!-- //section7 -->

        <section id="section8" class="content__item">
            <span class="content__item__num">08</span>
            <h2 class="content__item__title">Section8</h2>
            <figure class="content__item__imgWrap reveal reveal-two reveal-BTT">
                <div class="content__item__img"></div>
            </figure>
            <p class="content__item__desc reveal reveal-two reveal-BTT" data-delay="500"><span>나는 내가 더 노력할수록 운이 더 좋아진다는 걸 발견했다.</span></p>
        </section>
        <!-- //section8 -->

        <section id="section9" class="content__item">
            <span class="content__item__num">09</span>
            <h2 class="content__item__title">Section9</h2>
            <figure class="content__item__imgWrap reveal reveal-two reveal-BTT">
                <div class="content__item__img"></div>
            </figure>
            <p class="content__item__desc reveal reveal-two reveal-RTL" data-delay="500"><span>꿈이 있다면, 그 꿈을 잡고 절대 놓아주지마라.</span></p>
        </section>
        <!-- //section9 -->
    </main>
    <!-- //main -->

    <footer id="paraFooter">
        <h2>Parallax <em>Scrolling</em></h2>
        <div class="footerInfo">
            <h3>제이쿼리</h3>
            <ul>
                <li><a href="jqueryPE01.html">1</a></li>
                <li><a href="jqueryPE02.html">2</a></li>
                <li><a href="jqueryPE03.html">3</a></li>
                <li><a href="jqueryPE04.html">4</a></li>
                <li><a href="jqueryPE05.html">5</a></li>
                <li><a href="jqueryPE06.html">6</a></li>
                <li><a href="jqueryPE07.html">7</a></li>
                <li  class="active"><a href="jqueryPE08.html">8</a></li>
            </ul>
        </div>
        <div class="footerInfo">
            <h3>자바스크립트</h3>
            <ul>
                <li><a href="javascriptPE01.html">1</a></li>
                <li><a href="javascriptPE02.html">2</a></li>
                <li><a href="javascriptPE03.html">3</a></li>
                <li><a href="javascriptPE04.html">4</a></li>
                <li><a href="javascriptPE05.html">5</a></li>
                <li><a href="javascriptPE06.html">6</a></li>
                <li><a href="javascriptPE07.html">7</a></li>
                <li><a href="javascriptPE08.html">8</a></li>
            </ul>
        </div>
    </footer>
    <!-- //footer -->
</body>
</html>
<style>
    @font-face {
        font-family: 'NEXONLv1Gothic';
        font-weight: 300;
        src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF Light.woff') format('woff');
        font-style: normal;
    }
    @font-face {
        font-family: 'NEXONLv1Gothic';
        font-weight: 400;
        src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_20-04@2.1/NEXON Lv1 Gothic OTF.woff') format('woff');
        font-style: normal;
    }
    * {
        margin: 0; padding: 0;
    }
    .parallax {
        background: #222;
        color: #fff;
        font-family: 'NEXONLv1Gothic';
        font-weight: 400;
    }
    #paraHeader {
        padding: 20px;
    }
    #paraHeader h1 {
        display: inline-block;
        font-size: 20px;
        border-bottom: 1px dashed #fff;
        margin-bottom: 8px;
    }
    #paraCont {
        max-width: 1600px;
        margin: 0 auto;
        width: 100%;
        overflow: hidden;
    }
    #paraFooter {
        padding: 10vw 0;
    }
    #paraFooter h2 {
        font-size: 8vw;
        line-height: 1.2;
        padding: 10vw 8vw 0 8vw;
        text-transform: uppercase;
        margin-bottom: 3vw;
    }
    #paraFooter h2 em {
        display: block;
        font-family: 'Lato';
        font-weight: 100;
        padding-left: 18vw;
    }
    #paraFooter .footerInfo {
        padding: 20px;
        text-align: center;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #000;
        padding: 15px 20px;
        margin-bottom: 2px;
    }
    #paraFooter .footerInfo h3 {
        padding: 0 10px;
    }
    #paraFooter .footerInfo li {
        display: inline;
        list-style: none;
    }
    #paraFooter .footerInfo li a {
        text-decoration: none;
        color: #fff;
        border: 1px dashed #fff;
        width: 30px; height: 30px;
        border-radius: 50%;
        line-height: 32px;
        display: inline-block;
    }
    #paraFooter .footerInfo li.active a,
    #paraFooter .footerInfo li a:hover {
        background: #fff;
        color: #000;
    }

    .content__item {
        width: 1000px;
        max-width: 70vw;
        margin: 30vw 0;
        /* background: rgba(255,255,255,0.3); */
        text-align: right;
        position: relative;
        padding-top: 10vw;
    }
    .content__item:nth-child(even){
        margin-left: auto;
        text-align: left;
    }
    .content__item__num {
        font-family: 'Lato';
        font-size: 25vw;
        opacity: 0.07;
        position: absolute;
        right: -5vw; top: -10vw;
    }
    .content__item:nth-child(even) .content__item__num {
        right: auto;
        left: -5vw;
    }
    .content__item__title {
        padding-bottom: 1vw;
        font-size: 2vw;
    }
    .content__item__imgWrap {
        width: 100%;
        padding-bottom: 56%;
        position: relative;
        overflow: hidden;
    }
    .content__item__img {
        position: absolute;
        left: -10%; top: -10%;
        width: 120%;
        height: 120%;
        background-repeat: no-repeat;
        background-size: cover;
        filter: saturate(0%);
    }
    .content__item__desc {
        font-size: 4vw;
        line-height: 1.4;
        word-break: keep-all;
        margin-top: -6vw;
        margin-right: -3vw;
        position: relative;
        z-index: 100;
    }
    .content__item:nth-child(even) .content__item__desc {
        margin-right: 0;
        margin-left: -3vw;
    }
    .content__item:nth-child(1) .content__item__img {
        background-image: url(https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg1.jpg);
    }
    .content__item:nth-child(2) .content__item__img {
        background-image: url(https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg2.jpg);
    }
    .content__item:nth-child(3) .content__item__img {
        background-image: url(https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg3.jpg);
    }
    .content__item:nth-child(4) .content__item__img {
        background-image: url(https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg4.jpg);
    }
    .content__item:nth-child(5) .content__item__img {
        background-image: url(https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg5.jpg);
    }
    .content__item:nth-child(6) .content__item__img {
        background-image: url(https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg6.jpg);
    }
    .content__item:nth-child(7) .content__item__img {
        background-image: url(https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg7.jpg);
    }
    .content__item:nth-child(8) .content__item__img {
        background-image: url(https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg8.jpg);
    }
    .content__item:nth-child(9) .content__item__img {
        background-image: url(https://webstoryboy.github.io/wtss/refer-effect/assets/img/bg9.jpg);
    }

    /* nav */
    .paraNav {
        position: fixed;
        right: 20px; top: 20px;
        z-index: 1000;
        background: rgba(0,0,0,.4);
        padding: 15px 20px;
        border-radius: 50px;
        transition: top 0.4s ease;
    }
    .paraNav li {
        display: inline-block;
        list-style: none;
    }
    .paraNav li a {
        color: #fff;
        text-decoration: none;
        display: inline-block;
        padding: 5px;
        width: 30px;
        height: 30px;
        text-align: center;
        line-height: 30px;
        border-radius: 30px;
    }
    .paraNav li.active a {
        background: #fff;
        color: #000;
    }

    /* info */
    .paraScroll {
        position: fixed;
        left: 20px;
        bottom: 20px;
        z-index: 1000;
        background: rgba(0,0,0,.4);
        color: #fff;
        height: 40px;
        line-height: 40px;
        border-radius: 50px;
        text-align: center;
        font-size: 12px;
        padding: 0px 20px;
    }

    /* reveal */
    .reveal > div,
    .reveal > span {
        opacity: 0;
    }
    .reveal.show > div,
    .reveal.show > span {
        animation: opacity 1000ms linear forwards;
    }
    .reveal {
        position: relative;
    }
    .reveal::before {
        content: '';
        position: absolute;
        right: 0; top: 0;
        width: 0; height: 100%;
        z-index: 100;
        background-color: #fff;
    }
    .reveal.reveal-two::after {
        content: '';
        position: absolute;
        right: 0; top: 0;
        width: 0; height: 100%;
        z-index: 100;
        background-color:orange;
    }
    .reveal.show::before {
        animation: reveal 1000ms cubic-bezier(0.77, 0, 0.18, 1);
    }
    .reveal.reveal-RTL.show::before {
        animation: reveal-RTL 1000ms cubic-bezier(0.77, 0, 0.18, 1);
    }
    .reveal.reveal-TTB.show::before {
        animation: reveal-TTB 1000ms cubic-bezier(0.77, 0, 0.18, 1);
    }
    .reveal.reveal-BTT.show::before {
        animation: reveal-BTT 1000ms cubic-bezier(0.77, 0, 0.18, 1);
    }
    .reveal.show::after {
        animation: reveal 1000ms 300ms cubic-bezier(0.77, 0, 0.18, 1);
    }
    .reveal.reveal-RTL.show::after {
        animation: reveal-RTL 1000ms 300ms cubic-bezier(0.77, 0, 0.18, 1);
    }
    .reveal.reveal-TTB.show::after {
        animation: reveal-TTB 1000ms 300ms cubic-bezier(0.77, 0, 0.18, 1);
    }
    .reveal.reveal-BTT.show::after {
        animation: reveal-BTT 1000ms 300ms cubic-bezier(0.77, 0, 0.18, 1);
    }

    @keyframes opacity {
        0%   {opacity: 0;}
        60%  {opacity: 0;}
        70%  {opacity: 1;}
        100% {opacity: 1;}
    }
    @keyframes reveal {
        0%   {width: 0;    left: 0;}
        50%  {width: 100%; left: 0;}
        80%  {width: 100%; left: 0;}
        100% {width: 0;    left: 100%;}
    }
    @keyframes reveal-RTL {
        0%   {width: 0;    right: 0;}
        50%  {width: 100%; right: 0;}
        80%  {width: 100%; right: 0;}
        100% {width: 0;    right: 100%;}
    }
    @keyframes reveal-TTB {
        0%   {width: 100%; height: 0;    top: 0;}
        50%  {width: 100%; height: 100%; top: 0;}
        80%  {width: 100%; height: 100%; top: 0;}
        100% {width: 100%; height: 0;    top: 100%;}
    }
    @keyframes reveal-BTT {
        0%   {width: 100%; height: 0;    top: auto; bottom: 0;}
        50%  {width: 100%; height: 100%; top: auto; bottom: 0;}
        80%  {width: 100%; height: 100%; top: auto; bottom: 0;}
        100% {width: 100%; height: 0;    top: auto; bottom: 100%;}
    }
</style>
<!-- script -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.6.1/gsap.min.js"></script>
<script>
    $(window).scroll(function(){
        let scrollTop = $(window).scrollTop();

        // $(".reveal").each(function(){
        //     if( scrollTop + $(window).height()/2 >= $(this).offset().top ){
        //         $(this).addClass("show");
        //     }
        // });

        $(".reveal").each(function(){
            if( scrollTop + $(window).height()/2 >= $(this).offset().top ){
                $(this).delay( $(this).data("delay") ).queue(function(){
                    $(this).addClass("show");
                    console.log($(this).data("delay"))
                })
            }
        });

        //출력
        $(".paraScroll span").text(parseInt(scrollTop));
    });
</script>

Site Reference

INSTAGRAM 바로가기

STUDY 바로가기

YOUTUBE 바로가기

INFLUENCER 바로가기

728x90

더보기

인스타그램 보기 바로가기

포트폴리오 스터디 바로가기

유튜브 영상보기 바로가기