• Home
  • About
    • Young's Github Pages photo

      一日不作一日不食

    • About
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

jQuery 정리 04

25 Feb 2019

Reading time ~2 minutes

jQuery 정리 04 - Effect, Plugin


Effect

  • 효과, 보이거나 숨기기
    • CSS로는 “display : none”으로 숨기고, “display:block” 또는 “display:inline”으로 보여줄 수 있다.
  • 보이기
$("selector").show();
  • 숨기기
$("selector").hide();
  • 번갈아가며 보이기/숨기기
    • 현재상태에 따라 보이거나 숨김
    • show()와 hide()를 반복해서 수행
$("selector").toggle();
  • 서서히 보이기
$("selector").fadeIn(ms);
  • 서서히 숨기기
$("selector").fadeOut(ms);
  • Effect 사용 예
<div>
     <input type="button" value="보이기" class="btn"  id="show"/>
     <input type="button" value="숨기기" class="btn"  id="hide"/>
     <input type="button" value="보이기/숨기기" class="btn"  id="toggle"/>
     <input type="button" value="서서히 보이기" class="btn"  id="fadeIn"/>
     <input type="button" value="서서히 숨기기" class="btn"  id="fadeOut"/>
</div>
<div id="imgOutput">
     <img src="../common/images/img2.jpg"/>
</div>
#imgOutput { display:none; }
$(document).ready(function() {
     $("#show").click(function() {
           $("#imgOutput").show(); // 보이기
     });
     
     $("#hide").click(function() {
           $("#imgOutput").hide(); // 숨기기
     });
     
     $("#toggle").click(function() {
           $("#imgOutput").toggle(); // 보이기/숨기기
     });
     
     $("#fadeIn").click(function() {
           $("#imgOutput").fadeIn(1000); // 서서히 보이기
     });
     
     $("#fadeOut").click(function() {
           $("#imgOutput").fadeOut(3000); // 서서히 숨기기
     });
});

01

  • fadeIn과 fadeOut은 두번째 파라미터로 무기명 함수를 주면 함수 수행 후 무기명 함수를 호출가능
    • 이미지가 사라지고 다른 이미지가 등장하는 등의 효과를 줄 수 있음
$("#fadeIn").click(function() {
     $("#imgOutput").fadeIn(1000, function() {
           // 보여지는 것이 완료되었을 때 처리할 코드
           alert("이미지 처리 완료");
     });
});

02

이펙트를 사용한 회원가입 검증

<div>
     <label>아이디</label>
     <input type="text" name="id" class="inputBox" id="id"  autofocus="autofocus"'/>
     <input type="button" value="중복확인" class="btn"  id="btnDup"/>
     <span id="idWarning"></span><br/>
     <input type="button" value="가입" class="btn"  id="btnJoin"/><br/>
</div>
<div id="imgOutput">
     <img src="../common/images/img2.jpg"/>
</div>
#idWarning { color:red; font-size:14px; font-weight: bold; }
////////////////// HTML Form Control의 값이 입력되지 않았을 때  ///////////////////////
$("#btnDup").click(function() {
     
});
$("#btnJoin").click(function() {
     var id = $("#id").val().trim();
     
     if (id == "") {
           // 1. idWarning 글자를 넣어서 보여준다.
           $("#idWarning").html("아이디는 필수 입력");

           for(var i=0; i<5; i++) {
               $("#idWarning").fadeIn(1000).fadeOut(1000);
           }
           // method체인으로 반복해서 Warning을 보여준다.

           /*var temp = [1000, 1000, 1000, 500, 500];
           $.each(temp, function(idx, ms){
               $("#idWarning").fadeIn(ms).fadeOut(ms);
           });*/
           // 배열과 jQuery 반복함수를 사용할 수도 있다.
           return;
     }
     
     alert("가입 페이지로 이동"); // 원래 $("폼태그id").submit(); 수행해야 함
});

03

  • slideDown(), slideUp() 사용 예
<div>
     <!-- 해당 텍스트를 클릭해서 이미지를 슬라이드업/다운으로 보여주기 -->
     <span id="txt">보이기</span>
</div>
#txt { cursor: pointer };
$("#txt").click(function() {
     var txt = $("#txt").text();
     
     if(txt=="보이기"){
           $("#txt").text("숨기기");
           $("#imgOutput").slideDown();
     }else{
           $("#txt").text("보이기");
           $("#imgOutput").slideUp();
     }
});

04

Plugin

  • jQuery 플러그인
  • 다른 개발자들이 jQuery를 가지고 미리 구현해 놓은 기능들
  • Try a Demo를 통해 어떤 플러그인인지 확인하고 사용 가능
    • 또는 플러그인 홈페이지에서 사용법을 확인 가능하다.
  • 플러그인 사용 후 기록을 안하면 어떤 플러그인을 사용한지 확인이 어려우므로 주석을 달 것
  • 플러그인을 지원하는 jQuery 버전이 다르기 때문에 위치에 주의한다.
    • 가장 밑에 명시된 jQuery 버전이 적용된다.

플러그인 사용 예 - accordion

  • 플러그인 페이지에 View Source를 보고 필요한 부분을 사용하여 자신의 코드에 적용시킨다.
  • accordion 플러그인
<!-- 복사해서 붙여넣은 내용, 아래부터는 jQuery 1.12.4이 적용된다.  -->
<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script  src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$( function() {
  $( "#accordion" ).accordion();
} );
</script>
<script type="text/javascript">
</script>
<!-- CSS -->
<link rel="stylesheet"  href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<div style="width:400px;">
<div id="accordion">
     <h3>1조 - PC방 통제</h3>
     <div>
           <p>
                기존의 PC방 관리 프로그램과 차별화를 둔 관리  프로그램으로, 기존 프로그램의 사용자 경험을
                제공하면서 좌석배치, 통계 등의 기능을  추가하여 PC방 사장님의 업무처리를 돕는 프로그램입니다.
                제발 사주세요. 굽신굽신 ㅇㄱㄴ
           </p>
     </div>
     <h3>2조 - 영화 예매 프로그램</h3>
           <div>
                <p>
                     이것은 영화 예매인가?
                </p>
           </div>
     <h3>3조 - 구인구직</h3>
     <div>
           <p>
                개발자만의 구인구직을 타겟으로한 버티컬 서비스로 모든 개발자가
                주 5일제(월화수목금금금)를 지향할 수  있도록....
           </p>
     </div>
</div>
</div>

05



jQuery