VSCode_jquery. effect1

dwanGim·2022년 3월 14일
0

vscode_basic

목록 보기
34/55
post-thumbnail

effect

이벤트를 통해 태그를 자유자재로 조작할 수 있게 되었습니다.

하지만 단순하게 숨기고 색깔을 바꾸기만 하는 건

언제부턴가 멋지지 않은 것 같습니다.

좀 더 심미적이고 지루하지 않게 화면구성을 하는 것이

사용자 경험을 향상시킬 수 있을 겁니다.

effect를 이용해서

이벤트에 효과를 더할 필요가 있습니다.

기초적인 effect의 종류는 다음과 같습니다.

$("선택자").hide() - 선택요소 숨기기

$("선택자").show() - 선택요소 보이기

$("선택자").toggle() - 보이면 숨기고 안보이면 노출

$("선택자").slideUp() - 말아올라가듯 숨김

$("선택자").slideDown() -말아내려가듯 노출

$("선택자").slideToggle() - slide형태로 toggle 적용

$("선택자").fadeOut() - 서서히 사라지게 함

$("선택자").fadeIn() - 서서히 보이게 함

$("선택자").fadeTo() - 요소를 원하는 만큼 투명화함

또 코드를 통해 확인해야겠습니다.

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
    <style>
        * {
            margin: 0;
            padding: 0;
        }

        li {
            list-style: none;
        }

        body {
            font:12px/1.5 "굴림", Gulim;
            margin:10px;
        }

        h2{
            margin-top: 20px;
        }

    </style>

style태그 입니다.

<body>
    <div id="wrap">
        <h1>제이쿼리 Effect들</h1>
        <p>
            제이쿼리에서는 화면전환 슬라이드 업다운
            <br/>
            등의 다양한 효과 메서드를 제공합니다.
        </p>
        <h2>show/hide 효과</h2>
        <p>
            <button id="btn1">hide</button>
            <button id="btn2">show</button>
        </p>
        <p class="box1">
            선택요소를 숨기거나 노출시킬 때 씁니다. <br/>
            hide(시간)/show(시간)<br/>
            시간은 fast, normal, slow등으로 입력하거나 <br/>
            혹은 밀리초(1000분의 1초)단위의 숫자로 입력해도<br/>
            그 입력한 시간에 걸쳐서 작동합니다.
        </p>

        <h2>Toggle 효과</h2>
        <p><button id="btn3">toggle</button></p>
        <p class="box2">
            선택요소가 숨겨져있다면 보이게,<br/>
            보인다면 숨기게 만들어줍니다.
        </p>

        <h2> sideDown/Up 효과 </h2>

        <p>
            <button id="btn4">slideUp</button>
            <button id="btn5">slideDown</button>
            <button id="btn6">slideToggle</button>
        </p>
        <p>
            slideUp은 선택요소를 위로 말아올리며 숨기고<br/>
            slideDown은 선택요소를 아래로 말아내려 노출
        </p>

        <h2>fadein/fadeOut</h2>
        <p>
            <button id="btn7">fadeOut</button>
            <button id="btn8">fadeIn</button>
            <button id="btn9">fadeToggle</button>
        </p>
        <p>
            fadeOut은 선택 요소를 천천히 사라지게 합니다.<br/>
            fadeIn은 선택요소를 천천히 노출되게 합니다.
        </p>

        <h2>fadeTo 효과</h2>
        <p>
            <button id="btn10">fadeTo(0.3)</button>
            <button id="btn11">fadeTo(1)</button>
        </p>

        <p id="box3">
            fadeTo는 선택요소를 원하는 만큼만<br/>
            보이거나 숨길 수 있습니다.
        </p>



    </div>
    
</body>

body 태그입니다.

준비가 되었으니 script태그를 작성해보겠습니다.

    <script>


        $ (() => {
            // 다음은 id가 btn1요소를 클릭할 때
            // class명이 box1인 요소를 천천히 숨기는
            // 효과입니다.
            $("#btn1").click(function(){
                $(".box1").hide("slow");
            })

btn1을 누르면을 누르면 클래스명이 box1인 p태그가

숨겨지게 해보았습니다.


            $("#btn2").click(function(){
                $(".box1").show("slow");
            })

btn2를 누르면 show 이벤트가 수행됩니다.

           $("#btn3").click(function(){
                $(".box2").toggle("slow");
            });

toggle에 click을 걸면 숨겨져 있을 때는 보여주고

보여지고 있을 때는 숨겨줍니다.

그럼 이제 #btn4를 클릭했을 때 #btn4의 부모.parent()의

다음 형제 .next를 말아올려 숨기는 이벤트를 걸어보겠습니다.

  $("#btn4").click(function(){
                $("#btn4").parent().next().slideUp("slow");
            });

.parent().next()를 이용해서 body태그 속 DOM을 따라

아이디나 클래스가 지정되지 않은 p태그를 지정해 이벤트를 걸 수 있게 되었습니다.


            $("#btn5").click(function(){
                $("#btn5").parent().next().slideDown("slow");
            });

            $("#btn6").click(function() {
                $("#btn6").parent().next().slideToggle("fast");
            });

바로 onclick을 걸고 slideDown과 slideToggle도 적용을 시켰습니다.

#btn7 ~~이상에 fadeOut, In, Toggle을 거는 것도

어렵지 않게 되었습니다.

$("#btn7").click(function(){
                    $("#btn7").parent().next().fadeOut("slow");
                });
 $("#btn8").click(function(){
                    $("#btn8").parent().next().fadeIn("fast");
                });
$("#btn9").click(function(){
                    $("#btn9").parent().next().fadeToggle("fast");
                });

그리고 fadeTo(속도, 투명도);는

태그의 투명도를 조절해줍니다.

속도는 fast, slow, normal, 혹은 밀리초 단위의 수를

투명도는 0.3, 1을 걸어보았습니다.

$("#btn10").click(function(){
                    $("#btn10").parent().next().fadeTo("slow", "0.3");
                });

$("#btn11").click(function(){
                    $("#btn11").parent().next().fadeTo("slow", "1");
                });

일단은 여기까지 입니다.

profile
배울 게 참 많네요.

0개의 댓글

관련 채용 정보