상세 컨텐츠

본문 제목

웹 페이지 스크롤 부드럽게 동작하게 만들기

Javascript

by 모모87 2021. 3. 24. 11:56

본문

1. scroll-behavior

간단한 코드로 모든 웹페이지 내의 스크롤을 부드러운 애니메이션 효과를 줄 수 있다.

html { scroll-behavior: smooth; }

2. custom animate javascript

<div id="num1">this is num 1</div>
<div id="num2">this is num 2</div>


<a href="#num1">move to num1</a>
<script>
  $('a').click(function () {
    $('html, body').animate({
      scrollTop: $($.attr(this, 'href')).offset().top
    }, 500);
    return false;
  });
</script>

위와 같은 코드가 존재할때, 위의 자바스크립트를 이용해 move to num1 이 적힌 a 태그를 누르면 num2의 위치로 500ms의 속도로 부드럽게 이동하게 된다.


3. smooth heels.js

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="utf-8">
    <style>
        #wrapper{
            background: black;
            width:800px;
            height:600px;
            overflow:auto;
            -webkit-overflow-scrolling: touch;
            position:relative;
        }
        #container{
            height:2000px;
            background:blue;
            width:750px;
            position:absolute;
        }
        .box{
            width:100px;
            height:100px;
            background:red;
            position:absolute;
        }
        #box1{
            top:50px;
            left:200px;
        }
        #box2{
            top:350px;
            left:400px;
        }
        #box3{
            bottom:20px;
            left:400px;
        }


    </style>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
    <script src="../src/jquery.smoothwheel.js"></script>

    <script>

        $(document).ready(function(){
            $("#wrapper").smoothWheel()
        });

    </script>
</head>
<div id="wrapper">
    <div id="container">

        <div id="box1" class="box"></div>
        <div id="box2" class="box"></div>
        <div id="box3" class="box"></div>

    </div>
</div>

</html>

github.com/fatlinesofcode/jquery.smoothwheel

 

 

반응형

관련글 더보기