웹/FrontedWeb

패럴럭스 스크롤링

옥돌소녀 2019. 11. 4. 10:07
<!-- 패럴럭스 스크롤링  -->

<!--화면을 스크롤 할 때 애니메이션 효과를 주는 것  -->

<!-- 주로 pc용 웹에서 구현이 된다 -->



<!-- 정적인 웹은 아래로 스크롤 하면 아래로 내려간다.  -->

<!-- 동적인 웹으로 구성해서, 천천히 내려가거나 반대로  -->

<!-- 올라가게 구성할 수 있다.  -->



<!-- 레이어(계층)을 나눠서 프론트, 백엔드를 나눈다. -->




<!DOCTYPE html>

<html lang="ko">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>패럴러스 스크롤링</title>

    <style>

    *,html{

        margin:0;

        padding:0;

    }



    #sky{

        background:url('./images/bg1.png') 50% 0;

        position: relative;

        width:100%;

        height:1500px;

        /* 가로를 중앙으로  정렬 시킨다.*/

        margin:0 auto;

    }



    #sky article{

        position: absolute;

        top:750px;

        left:40%;

    }




    

    </style>

</head>

<body>

    <!-- data - 속성은 사용자 정의 속성으로 사용 가능하다.  -->

    <section id="sky" data-type="background" data-speed="0.5">

        <article><img src="./images/balloon.png"></article>

    </section>



    <script src="./js/jquery-2.2.4.min.js"> </script>

    <script>

        //window.onload()와 동일한 역할을 한다 

        // jquery로 구현한 것이다. 웹문서가 로딩 완료 되었을 때 호출된다. 

        $(document).ready(function() {

            var wd=$(window);

            // css 속성 선택자 -> 속성으로 선택할 수 있다 

            // each() 함수 - for each 함수 : 모든 background 속성에 적용한다. 

            $('section[data-type="background"]').each(function(){

                var bg= $(this);

                wd.scroll(function(){

                    // wd.scrollTop() : 현재 스크로뢴 위치

                    // bg.data('speed') : 0.5 값 

                    var yPos=-(wd.scrollTop()/ bg.data('speed'));

                    //50% : 수평 중앙, yPos px : 계산된 수직 위치 값이다 .

                    var coords='50%' + yPos+ 'px';

                    // css() 함수 : jquery css를 객체에 적용하는 함수 

                    // 풍선의 위치를 조정하는게 아니고, 백그라운드(하늘 배경)의 속도를 조절하는 것이다 .

                    bg.css({backgroundPosition:coords});

                });

            });

        });

    </script>







</body>

</html>

 

 

 

 

완성 !! : ) 

 

 

jquery-2.2.4.min.js
0.08MB