제이쿼리는 자바스크립트 라이브러리를 이용해 만든 언어입니다. 라이브러리는 자주 사용하는 코드를 재사용 및 효율성 있게 사용할 수 있도록 만들어진 함수의 집합을 의합니다.

제이쿼리는 HTML에 포함되어 있는 클라이언트 사이트 스크립트 언어를 단순화하도록 설계된 웹 브라우저 호환성을 가진 자바스크립트 라이브러리입니다.

  1. 제이쿼리는 CSS를 쉽게 적용할 수 있습니다.
  2. 제이쿼리는 크로스브라우징을 지원합니다.
  3. 제이쿼리는 플러그인이 풍부합니다.
  4. 제이쿼리는 코드를 적게 효율적으로 작성할 수 있습니다.
  5. 제이쿼리는 좋은 확장성과 Ajax 기능을 구현합니다.

제이쿼리 라이브러리 파일은 jquery.com 사이트에서 다운받아 연동합니다.

제이쿼리 사이트 / 라이브러리 파일 다운로드

기본 설정 View
<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="UTF-8">
	<title>Sample01</title>

	<!-- jquery 설정 -->
	<script src="assets/js/jquery-1.12.4.min.js"></script>

	<!-- jquery UI 설정 -->
	<script src="assets/js/jquery-ui-1.12.1.min.js"></script>

	<!-- 구글  CDN 설정 -->
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
	<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></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/jquerymobile/1.4.5/jquery.mobile.min.js"></script>

</head>
<body>
제이쿼리를 쓰기 위한 준비 작업입니다.
jQuery(document).ready(function(){
      //실행코드
});
jQuery를 $로도 사용할 수 있습니다.
$(document).ready(function(){
      //실행코드
});
생략하여 사용 할 수 있습니다.
$(function(){
      //실행코드
});
자바스크립트
window.onload = function(){
      //실행코드
};
설정 View
<!DOCTYPE html>

제이쿼리 선택자는 HTML 태그를 선택하여, 제이쿼리 기능을 쉽게 구현할 수 있습니다.

$("선택자").메서드(매개변수, 함수);
종류 예시 설명
태그 선택자 $("p") 기본 태그를 선택합니다.
클래스 선택자 $(".class") 클래스 태그를 선택합니다.
아이디 선택자 $("#id") 아이디 태그를 선택합니다.
그룹 선택자 $("#id, p, .class") 여러가지 태그를 선택합니다.
전체 선택자 $("*") 전체 태그를 선택합니다.
종류 예시 설명
자손 선택자 $("div p") 자식(하위) 태그 모두 선택합니다.
child 선택자 $("div > p") 자식(하위) 태그만 선택합니다.(자손은 포함안됨)
sibling 선택자 $("div + p") 자식 태그 다음 형제 태그를 선택합니다.
siblings 선택자 $("div ~ p") 자식 태그 다음 모든 형제 태그를 선택합니다.
종류 예시 설명
[name="value"] $("li a[href='#page']") 속성 중에 #page와 일치하는 속성을 선택합니다.
[name^="value"] $("li a[href^='http']") 속성 중에 http로 시작하는 속성을 선택합니다.
[name$="value"] $("li a[href$='com']") 속성 중에 com으로 끝나는 속성을 선택합니다.
[name*="value"] $("li a[href*='web']") 속성 중에 "web"이 포함되어 있는 속성을 선택합니다.
[name!="value"] $("li a[href!='naver']") 속성 중에 "naver"이 포함되어 있는 않는 속성을 선택합니다.
[name="value"][name="value"] $("li a[href][class]") 속성 중에 "href"와"class"속성이 있는 속성을 선택합니다.
종류 설명
:animated show, hide, slideDown, SlidUp등의 애니메이션 태그를 선태가합니다.
:eq(index) 선택된 태그들의 인덱스 번호를 통해 선택합니다.
:gt(index) 선택된 집합에서 인덱스보다 큰 인덱스를 가지고 있는 태그를 선택합니다.
:lt(index) 선택된 집합에서 인덱스보다 작은 인덱스를 가지고 있는 태그를 선택합니다.
:header 제목 요소(h1~h6) 태그들을 선택합니다.
:first 선택된 요소 중에서 첫 번째 요소를 찾아 선택합니다.
:last 선택된 요소 중에서 마지막 번째 요소를 찾아 선택합니다.
:odd 선택된 요소 중에서 홀수 번째 요소를 찾아 선택합니다.
:even 선택된 요소 중에서 짝수 번째 요소를 찾아 선택합니다.
:not() 현재 선택한 요소의 반대 요소를 선택합니다.
종류 설명
:contains() ()안의 텍스트와 일치하는 문자열이 요소의 내용 중에 있을 때 선택합니다.
:empty 요소에 텍스트가 없을 때 선택합니다.
:has() 요소 내부에 찾고 싶은 태그를 후손 요소까지 살펴본 후 있으면 선택합니다.
:parent empty와 반대 요소로 텍스트가 존재할 때 선택합니다.

컨텐츠 영역을 보이지 않게 하는 방법

  • display : none;
  • wisibility : hidden;
  • opacity : 0;
  • width: 0; height: 0;
  • form 요소 중에 type="hidden"
  • 부모요소가 보이지 않거나 숨겨져 있을 때

visibility: hidden이나 opacity:0;은 위치가 제거되지 않았기 때문에 :hidden 선택자에게 선택되지 않습니다.

종류 설명
:hidden 보이지 않는 요소를 선택합니다.
:visible 보이는 요소를 선택합니다.
종류 설명
:first-child 첫 번째 자식 요소를 선택합니다.
:last-child 마지막 번째 자식 요소를 선택합니다.
:nth-child(index) index 번째 자식 요소를 선택합니다.
:nth-child(even) 짝수 번째 자식 요소를 선택합니다.
:nth-child(odd) 홀수 번째 자식 요소를 선택합니다.
:nth-child(2n) 2배수 번째 자식 요소를 선택합니다.
only-child 2배수 번째 자식 요소를 선택합니다.
종류 설명
:input 모든 입력 양식을 선택합니다.
:file 파일 업로드 양식을 선택합니다.
:hidden 숨겨진 입력 양식을 선택합니다.
:image 이미지 입력 양식을 선택합니다.
:password 암호 입력 양식을 선택합니다.
:radio 라디오 버튼 입력 양식을 선택합니다.
:reset 리셋 입력 양식을 선택합니다.
:submit 데이터 보내기 입력 양식을 선택합니다.
:text 텍스트 박스 양식을 선택합니다.
선택자 정리
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>선택자</title>
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script>
        $(document).ready(function(){
            //$("h3").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            //$("h3").css({"background-color":"#bbdefb","border":"3px dashed #303f9f"});
            //$("h3").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$(".list").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$("#list1").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$("#list1, #list2").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$("*").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            
            //$(".list ul").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$(".list > ul").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$(".one1 + li").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$(".one1 ~ li").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            
            //$("li a[href='#list2']").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$("li a[href^='http']").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$("li a[href$='com']").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$("li a[href*='web']").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$("li a[href!='http://naver.com']").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$("li a[href][title]").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            
            //$(".list li:eq(7)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$(".list li:gt(7)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$(".list li:lt(7)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$(".list li:first").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$(".list li:last").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$(".list li:odd").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
        
            //$(".list li:even").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$(".list li:not(:eq(7))").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
        
            //$(".list li:contains(one6)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$("ul:has('li')").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$("li:empty").text("one5").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            //$("li:parent").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            
            //$("li:hidden").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});
            //$("li:visible").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
            
            //$("li:first-child").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});
            //$("li:first").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});
            //$("li:last-child").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});
            //$("li:last").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});
            //$("li:nth-child(3)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});
            //$("li:nth-child(even)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});
            //$("li:nth-child(odd)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});
            //$("li:nth-child(2n)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});
            //$("li:nth-child(2n+1)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});
            //$("li:only-child").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});
            });
    </script>
</head>
<body>
    <h3>jQuery Sample</h3>
    <div id="list1" class="list">
        <ul>
            <li class="one1"><a href="#list2">one1</a></li>
            <li class="one2"><a href="http://naver.com">one2</a></li>
            <li class="one3"><a href="http://www.daum.net">one3</a></li>
            <li class="one4"><a href="http://choheebaek.com" title="바로가기">one4</a></li>
            <li class="one5">one5</li>
            <li class="one6">one6</li>
            <li class="one7">one7</li>
            <li class="one8">one8</li>
            <li class="one9">one9</li>
            <li class="one10">one10</li>
        </ul>
        <ul id="list2" class="list">
            <li class="one1">one1</li>
            <li class="one2">one2</li>
            <li class="one3">one3</li>
            <li class="one4">one4</li>
            <li class="one5"></li>
            <li class="one6">one6</li>
            <li class="one7">one7</li>
            <li class="one8">one8</li>
            <li class="one9">one9</li>
            <li class="one10">one10
                <ul>
                    <li>one10-1</li>
                    <li style="width:0; height: 0; overflow: hidden;">one10-2</li>
                    <li style="opacity: 0;">one10-3</li>
                    <li style="visibility: hidden;">one10-4</li>
                    <li style="display: none">one10-5</li>
                </ul>
            </li>
        </ul>
    </div>
    
    <ul>
        <li>기본 선택자 : $("h3").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>클래스 선택자 : $(".list").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>아이디 선택자 : $("#list1").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>그룹 선택자 : $("#list1, #list2").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>전체 선택자 : $("*").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        
        <li>자손 선택자 : $(".list ul").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>child 선택자 : $(".list > ul").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>sibling 선택자 : $(".one1 + li").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>siblings 선택자 : $(".one1 ~ li").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        
        <li>[name="value"] : $("li a[href='#list2']").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>[name^="value"] : $("li a[href^='http']").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>[name$="value"] : $("li a[href$='com']").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>[name*="value"] : $("li a[href*='web']").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>[name!="value"] : $("li a[href!='http://naver.com']").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>[name="value"][name="value"] : $("li a[href] ['title']").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        
        <li>$(".list li:eq(7)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>$(".list li:gt(7)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>$(".list li:lt(7)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>$(".list li:last").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>$(".list li:odd").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        
        <li>$(".list li:even").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>$(".list li:not(:eq(7))").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        
        <li>:contains() : $(".list li:contains(one6)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>:empty : $("li:empty").text("one5").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        <li>:has() : $("ul:has('li')").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"}); </li>
        <li>:parent : $("li:parent").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        
        <li>:hidden : $("li:hidden").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});</li>
        <li>:visible : $("li:visible").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});</li>
        
        <li>:first-child : $("li:first-child").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});</li>
        <li>$("li:first").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});</li>
        <li>:last-child : $("li:last-child").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});</li>
        <li>$("li:last").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});</li>
        <li>:nth-child(index) : $("li:nth-child(3)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});</li>
        <li>:nth-child(even) : $("li:nth-child(even)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});</li>
        <li>:nth-child(odd) : ("li:nth-child(odd)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});</li>
        <li>:nth-child(2n) : $("li:nth-child(2n)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});</li>
        <li>$("li:nth-child(2n+1)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});</li>
        <li>:only-child : $("li:only-child").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f", display:"block"});</li>
    </ul>
</body>
</html>

제이쿼리란 선택자를 기준으로 선택한 요소 중 원하는 요소를 다시 한 번 더 선택할 수 있는 탬색과 관련된 제이쿼리 메서드입니다. 탐색은 크게 트리구조와 필터로 나눌 수 있습니다.

종류 설명
.chrildren() 선택한 요소의 모든 자식 요소를 선택합니다.(자손 요소는 포함안됨)
.find() 선택한 요소의 자손 요소 중 조건에 맞는 요소를 선택합니다.
.next() 선택한 요소의 다음 형제 요소를 선택합니다.
.nextAll() 선택한 요소의 다음 모든 형제 요소를 선택합니다.
.parent() 선택한 요소의 부무 요소를 선택합니다.
.parents() 선택한 요소의 모두 부무 요소를 선택합니다.
.prav() 선택한 요소의 이전 형제 요소를 선택합니다.
.pravAll() 선택한 요소의 이전 모든 형제 요소를 선택합니다.
.closest() 선택한 요소를 포함하면서 가장 가까운 상위 요소를 선택합니다.
.nextUntil() 다음에 위치한 요소를 조건에 맞을 대까지 찾습니다.
.parentUntil() 조건이 참이 될 때까지 부모요소를 찾습니다.
.prevUntil() 이전에 위치한 요소를 조건에 맞을 때까지 찾습니다.
.siblings() 형제요소를 모두 찾습니다.
트리구조탐색(Tree Traverael) View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>트리구조탐색</title>
     <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script>
         $(document).ready(function(){
            //$(".list").children("li").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            //$(".list").find("li").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            //$(".list li").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
             
            //$(".one4").prev("li").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            //$("li:nth-child(3)").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            //$("li:contains('one3')").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            //$(".one2+li").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            //$(".list li:eq(2)").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            
            //$(".one4").prevAll("li").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            //$(".list li:lt(3)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
             
            //$(".one4").next("li").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            //$(".one4").nextAll("li").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            
            //$(".one4").siblings("li").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            $("li:not(:eq(3))").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
            $("li:not(:nth-child(4))").css("background-color","#bbdefb").css("border","3px dashed #303f9f");
        });
    </script>                   
</head>
<body>
    <h3>jQuery Sample</h3>
    <div id="list1" class="list">
        <ul>
            <li class="one1"><a href="#list2">one1</a></li>
            <li class="one2"><a href="http://naver.com">one2</a></li>
            <li class="one3"><a href="http://www.daum.net">one3</a></li>
            <li class="one4"><a href="http://choheebaek.com" title="바로가기">one4</a></li>
            <li class="one5">one5</li>
            <li class="one6">one6</li>
            <li class="one7">one7</li>
            <li class="one8">one8</li>
            <li class="one9">one9</li>
            <li class="one10">one10</li>
        </ul>
        <ul id="list2" class="list">
            <li class="one1">one1</li>
            <li class="one2">one2</li>
            <li class="one3">one3</li>
            <li class="one4">one4</li>
            <li class="one5"></li>
            <li class="one6">one6</li>
            <li class="one7">one7</li>
            <li class="one8">one8</li>
            <li class="one9">one9</li>
            <li class="one10">one10
                <ul>
                    <li>one10-1</li>
                    <li style="width:0; height: 0; overflow: hidden;">one10-2</li>
                    <li style="opacity: 0;">one10-3</li>
                    <li style="visibility: hidden;">one10-4</li>
                    <li style="display: none">one10-5</li>
                </ul>
            </li>
        </ul>
    </div>
</body>
</html>

종류 설명
.eq() 인덱스 번호에 해당하는 요소를 찾습니다.
.filter() 선택한 요소 집합에서 선택자를 추출하거나 함수를 사용해서 원하는 결과를 추출해냅니다.
.last() 선택한 요소 집합에서 마지막번째 자식 요소를 선택합니다.
.has() 선택된 요소들이 자신의 자식요소에서 주어진 선택자가 있는지 확인하여 선택합니다.
.map() 대상이 되는 요소 집합에서 배열을 새롭게 변경합니다.
.not() 조건에 맞지 않는 것들만 찾아서 선택합니다.
.slice() 선택된 집합에서 조건의 범위를 재선택합니다.
필터링(filtering) View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>필터링(filtering)</title>
     <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script>
         $(document).ready(function(){
             //$(".list li").eq(2).css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
             //$(".list li:eq(2)").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
             //$(".list li").filter(".one5").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
             //$(".list li").first().css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
             //$(".list li").last().css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
             //$(".list li").has("ul").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
             //$(".list li").not("one5").css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
             
             $(".list li").slice(3,8).css({backgroundColor:"#bbdefb",border:"3px dashed #303f9f"});
        });
    </script>                   
</head>
<body>
    <h3>jQuery Sample</h3>
    <div id="list1" class="list">
        <ul>
            <li class="one1"><a href="#list2">one1</a></li>
            <li class="one2"><a href="http://naver.com">one2</a></li>
            <li class="one3"><a href="http://www.daum.net">one3</a></li>
            <li class="one4"><a href="http://choheebaek.com" title="바로가기">one4</a></li>
            <li class="one5">one5</li>
            <li class="one6">one6</li>
            <li class="one7">one7</li>
            <li class="one8">one8</li>
            <li class="one9">one9</li>
            <li class="one10">one10</li>
        </ul>
        <ul id="list2" class="list">
            <li class="one1">one1</li>
            <li class="one2">one2</li>
            <li class="one3">one3</li>
            <li class="one4">one4</li>
            <li class="one5"></li>
            <li class="one6">one6</li>
            <li class="one7">one7</li>
            <li class="one8">one8</li>
            <li class="one9">one9</li>
            <li class="one10">one10
                <ul>
                    <li>one10-1</li>
                    <li style="width:0; height: 0; overflow: hidden;">one10-2</li>
                    <li style="opacity: 0;">one10-3</li>
                    <li style="visibility: hidden;">one10-4</li>
                    <li style="display: none">one10-5</li>
                </ul>
            </li>
        </ul>
    </div>
</body>
</html>
종류 설명
.add() 문서 객체를 추가적으로 선택합니다.
.addBack() 선택한 요소의 이전 선택된 요소를 추가 선택합니다.
.contents() 선택한 요소를 포함하여 자식 요소를 선택합니다.
.each() 여러개의 요소를 순차적으로 선택할 때 사용합니다.
.end() 문서 객체 선택을 한 단계 뒤로 돌립니다.
기타(Miscellaneous Traversing) View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>기타</title>
     <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script>
         $(document).ready(function(){
            //one1 --> 목록1 변경 .text()
            //$(".list li").eq(0).text("목록")
            //$(".list li").eq(1).text("목록")
            //$(".list li").eq(2).text("목록")
            //$(".list li").eq(3).text("목록")
            //$(".list li").eq(4).text("목록")
            //$(".list li").eq(5).text("목록")
            //$(".list li").eq(6).text("목록")
            //$(".list li").eq(7).text("목록")
            //$(".list li").eq(8).text("목록")
            //$(".list li").eq(9).text("목록")
            //$(".list li").eq(10).text("목록")
              $(".list li").each(function(i, a){
                 var i = i + 1; 
                 $(a).text("목록"+i); 
              });
        });
    </script>                   
</head>
<body>
   <div class="list">
       <ul>
           <li class="one1">one1</li>
           <li class="one2">one2</li>
           <li class="one3">one3</li>
           <li class="one4">one4</li>
           <li class="one5">one5</li>
           <li class="one6">one6</li>
           <li class="one7">one7</li>
           <li class="one8">one8</li>
           <li class="one9">one9</li>
           <li class="one10">one10</li>
           <li class="one11">one11</li>
           <li class="one12">one12</li>
           <li class="one13">one13</li>
           <li class="one14">one14</li>
           <li class="one15">one15</li>
           <li class="one16">one16</li>
           <li class="one17">one17</li>
           <li class="one18">one18</li>
           <li class="one19">one19</li>
           <li class="one20">one20</li>
       </ul>
   </div>

</body>
</html>

Manipulation은 DOM 구조를 변경 할 수 있는 제이쿼리 메서드 입니다.

종류 설명
.clone() 선택한 요소를 복사합니다.
.unwarp() 선택한 요소의 부모 요소를 삭제합니다.
.wrap() 선택한 요소의 새로운 요소를 추가합니다.
.wrapAll() 선택한 요소의 새로운 요소를 한거번에 추가합니다.
.wrapInner() 선택한 요소의 새로운 요소를 각각 추가합니다.
.append() 선택한 요소 마지막 위치에 새로운 요소를 추가합니다.
.append(target) 선택한 요소(타겟)마지막 위치에 새로운 요소를 추가합니다.
.prepend() 선택한 요소 처음 위치에 새로운 요소를 추가합니다.
.prependTo(target) 선택한 요소(타겟)처음 위치에 새로운 요소를 추가합니다.
.after() 선택한 요소 다음 위치에 새로운 요소를 추가합니다.
.before() 선택한 요소 이전 위치에 새로운 요소를 추가합니다.
.insertAfter(target) 선택한 요소(타겟) 다음 위치에 새로운 요소를 추가합니다.
.insertBefore(target) 선택한 요소(타겟) 이전 위치에 새로운 요소를 추가합니다.
.empty() 선택한 요소의 하위 내용을 삭제합니다.
.remove() 선택한 요소를 삭제합니다.
.replaceAll() 선택한 요소를 새로운 요소를 바꿉니다.
.html() 선택한 요소의 HTML를 읽고 쓸 수 있습니다.
.text() 선택한 요소의 텍스트를 읽고 쓸 수 있습니다.
변경 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>each</title>
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script>
        $(document).ready(function(){
            //$(".list").append("<li>내용4</li>");
            //$(".list").prepend("<li>내용0</li>");
            
            //$("<li>내용4</li>").appendTo(".list");
            //$("<li>내용0</li>").prependTo(".list");
            
            //$(".slist1").before("<li>내용0</li>");
            //$(".slist3").after("<li>내용4</li>");
            
            //$("<li>내용0</li>").insertBefore(".slist1");
            //$("<li>내용4</li>").insertAfter(".slist3");
            
            //$("h3").replaceWith("<h2>JQuery</h2>");
            
            //$(".list").unwrap();
            //$(".plist1").wrap("<div />");
            //$(".plist2").wrapAll("<div />");
            //$("li").wrapInner("<h4 />");
            
            //$(".list").empty();
            $(".list").remove();
        });
    </script>
</head>
<body>
    <h3>제이쿼리 변경</h3>
    <div >
        <ul class="list">
            <li class="slist1">내용1</li>
            <li class="slist2">내용2</li>
            <li class="slist3">내용3</li>
        </ul>
        <p class="plist1">plist1</p>
        <p class="plist1">plist1</p>
        <p class="plist2">plist2</p>
        <p class="plist2">plist2</p>
        <p class="plist3">plist3</p>
        <p class="plist3">plist4</p>
    </div>
</body>
</html>
랜덤으로 이미지 변환 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>each</title>
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script>
        $(document).ready(function(){
            $("#append").click(function(){
                $("#container").append(Img());
            });
        });
        
        //랜덤으로 나오는 이미지 함수
        function Img(){
            var n = Math.ceil(Math.random()*5);
            var imgPath = "<img src='assets/img/img0"+n+".jpg' width='200' alt='이미지'>"
            return imgPath;
        }
        
        
    </script>
</head>
<body>
    <button id="append">append</button>
    <div id="container">
        <!--
        <img src="assets/img/img01.jpg" width="200" alt="이미지">
        <img src="assets/img/img02.jpg" width="200" alt="이미지">
        <img src="assets/img/img03.jpg" width="200" alt="이미지">
        <img src="assets/img/img04.jpg" width="200" alt="이미지">
        <img src="assets/img/img05.jpg" width="200" alt="이미지">
        -->
    </div>
</body>
</html>
이미지 변경 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script>
          $(document).ready(function(){
          // 이미지 크기를 300으로 변경                
                $("img").css("width", "300");
               
                //버튼을 클릭했을 때 200으로 변경
                $("#btn1").click(function(){
                   $("img").css("width","200"); 
                });
                
                //버튼2를 클릭했을 때
                $("#btn2").click(function(){
                   $("img").css("width","+=10"); 
                });
              
                //버튼3을 클릭하면 3번째 이미지를 삭제
                $("#btn3").click(function(){
                   $("img").eq(2).remove();
                
                });
              
                //버튼4를 클릭하면 마지막에 이미지를 추가
                $("#btn4").click(function(){
                $("body").append(" <img src='assets/img/img01.jpg' width='300' alt='이미지' >");
                });
              
                //버튼5를 클릭하면 첫 번째 이미지를 마지막으로 
                    $("img").wrapAll("<div />");
                    $("img").parent().addClass("box");
                    
                $("#btn5").click(function(){    
                    $("img").first().appendTo(".box");
                });
              
               //버튼6을 클릭하면 마지막 이미지를 첫번째로
                $("#btn6").click(function(){    
                    $("img").last().prependTo(".box");
                });
              
              //함수를 사용하여 2초마다 한번 씩 첫 번째 이미지를 마지막으로
              setInterval(function(){
                  $("img").first().appendTo(".box");
              },2000);    
         });

    </script>  
</head>
<body>
    <button id="btn1">button</button>
    <button id="btn2">button</button>
    <button id="btn3">button</button>
    <button id="btn4">button</button>
    <button id="btn5">button</button>
    <button id="btn6">button</button>
    <button id="btn7">button</button>
    <div>
        <img src="assets/img/img01.jpg" width="200" alt="이미지">
        <img src="assets/img/img02.jpg" width="200" alt="이미지">
        <img src="assets/img/img03.jpg" width="200" alt="이미지">
        <img src="assets/img/img04.jpg" width="200" alt="이미지">
        <img src="assets/img/img05.jpg" width="200" alt="이미지">
    </div>
</body>
</html>

문서 객체의 속성과 관련된 기능을 처리해주는 제이쿼리 메서드입니다.

종류 설명
.attr() 새로운 속성을 생성하거나 기존의 속성을 변경할 때 사용합니다.
.prop() 선택한 요소에 속성을 반환, 생성, 변환 할 때 사용합니다.
.removeattr() 선택한 요소에서 기존의 속성을 삭제합니다.
.removeprop() 선택한 요소에서 기존의 속성을 삭제합니다.
.val() 입력 요소에 있는 속성 값을 불러오거나 변경 할 때 사용합니다.
attr를 이용한 탭 메뉴 만들기 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>attr</title>
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <style>
        *{margin: 0; padding: 0;}
        li{list-style: none;}
        a{text-decoration: none;}
        #tab-menu{overflow: hidden; width: 400px; margin: 50px auto;}
        #tab-btn li{float: left; width: 80px; text-align: center;}
        #tab-btn li a {background: #ccc; padding: 10px; display: block;}
    </style>
    <script>
        $(document).ready(function(){
            var attr = $("#tab-cont img").attr("src");
            //alert(attr);
            
            $("#tab-cont img").attr("alt","이미지1");
            
            $("#tab1").click(function(){
               $("#tab-cont img").attr({"src":"assets/img/img01.jpg", "alt":"이미지1"});
            });
            $("#tab2").click(function(){
               $("#tab-cont img").attr({"src":"assets/img/img02.jpg", "alt":"이미지2"});
            });
            $("#tab3").click(function(){
               $("#tab-cont img").attr({"src":"assets/img/img03.jpg", "alt":"이미지3"});
            });
            $("#tab4").click(function(){
               $("#tab-cont img").attr({"src":"assets/img/img04.jpg", "alt":"이미지4"});
            });
        }); 
    </script>
</head>
<body>
    <div id="tab-menu">
        <div id="tab-btn">
            <ul>
                <li id="tab1"><a href="#">tab1</a></li>
                <li id="tab2"><a href="#">tab2</a></li>
                <li id="tab3"><a href="#">tab3</a></li>
                <li id="tab4"><a href="#">tab4</a></li>
            </ul>
        </div>
        <div id="tab-cont">
            <img src="assets/img/img01.jpg" width="300" alt="">
        </div>
    </div>
   
</body>
</html>

위치와 크기를 읽고 설정하는 제이쿼리 메서드입니다.

종류 설명
.width() 어떤 요소의 가로 크기를 반환하거나 변경합니다.
.height() 어떤 요소의 세로 크기를 반환하거나 변경합니다.
.innerWidth() padding 값을 포함한 가로 크기를 반환하거나 변경합니다.
.innerHeight() padding 값을 포함한 세로 크기를 반환하거나 변경합니다.
.outerWidth() padding 값과 border 값을 포함한 가로 크기를 반환하거나 변경합니다.
.outerHeight() padding 값과 border 값을 포함한 세로 크기를 반환하거나 변경합니다.
attr를 이용한 탭 메뉴 만들기 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Dimension</title>
    <style>
         *{margin: 0; padding: 0;}
        li{list-style: none}
        a{text-decoration: none;}
        #wrapper {border: 5px solid blue; padding: 100px; margin: 20px; }
    </style>
    
</head>
<body>
    <div id="wrapper">
        <span>박스의 width = </span><span id="width">0</span><br>
        <span>박스의 height = </span><span id="height">0</span><br>
        <span>박스의 innerWidth = </span><span id="innerWidth">0</span><br>
        <span>박스의 innerHeight = </span><span id="innerHeight">0</span><br>
        <span>박스의 outerWidth = </span><span id="outerWidth">0</span><br>
        <span>박스의 outerHeight = </span><span id="outerHeight">0</span><br>
    </div>
    
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script>
        var box = $("#wrapper");
        $(window).resize(function(){
            $("#width").text(box.width());
            $("#height").text(box.height());
            $("#innerWidth").text(box.innerWidth());
            $("#innerHeight").text(box.innerHeight());
            $("#outerWidth").text(box.outerWidth());
            $("#outerHeight").text(box.outerHeight());
        });
    </script>
    
</body>
</html>
레이어 팝업 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>레이어 팝업</title>
    <style>
        .btn {width: 100px; text-align: center; background-color: darkblue; color: #fff; padding: 20px; display: block; border-radius: 20px 0;}
        /*.center {position: absolute; left: 50%; top:50%; margin-left: -70px; margin-top: -30px;}
        .center {position: absolute; left: 50%; top:50%; transform: translate(-50%,-50%);}
        .center {position: absolute; left: 0; top: 0; right: 0; bottom: 0; 
            margin:auto; width: 100px; height: 20px;}*/
        .flex {display: flex; align-items: center; justify-content: center; 
            width:100vw; height: 100vh;}
        .layer {display:none; text-align: center; color: #fff; font-size: 40px;
            background: radial-gradient(ellipse farthest-corner at center top, #f8bfa4 0%, #f33b4e 100%); width: 500px; height: 500px; line-height: 500px;
            border-radius: 50%;}
            /*
            position: absolute; left: 50%; top:50%; 
            transform: translate(-50%,-50%);
            }*/
    </style>
</head>
<body>
    <div class="flex">
        <a href="#"><span class="btn center">Button</span></a>
    </div>
    
    <div class="layer">
        Layer Box
        <a class="closed">X</a>
    </div>
    
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script>
        //백그라운드 색을 넣어주세요.
        $("body").css("background-color",'#ccc');
        //.layer 요소에 position 값을 설정
        $(".layer").css({position:"absolute", left:"0", top:"0"});
        
        //버튼을 클릭했을 때
         $(".btn").click(function(){
            var wWidth = $(window).width();     //현재 브라우저의 width을 저장
            var wHeight = $(window).height();   //현재 브라우저의 height을 저장
            //alert(wWidth);
            var iWidth = $(".layer").width();   //버튼의 width을 저장
            var iHeight = $(".layer").height(); //버튼의 height을 저장
            //alert(iWidth);
            
            //left: 50%; margin-left: -100px;
            $(".layer").css("left", wWidth/2 - iWidth/2);
            $(".layer").css("top", wHeight/2 - iHeight/2);
            
            //$(".layer").css("display","block");
            //$(".layer").show();
            //$(".layer").slideDown();
            $(".layer").fadeIn();
        });
        
        $(".closed").click(function(){
            //$(".layer").css("display","none");
            //$(".layer").hide();
            //$(".layer").slideUp();
            $(".layer").fadeOut();
        });
        
        
    </script>
    
</body>
</html>
종류 설명
.offset<() 웹 문서를 기준으로 귀치 값을 읽어오며, left와 top의 속성을 x축 y출의 좌표를 알려 줍니다.
.position() 기준점을 통해 선택한 요소의 위치값을 읽어오며, left와 top의 속성을 x축 y출의 좌표를 알려 줍니다.
.scrollLeft() 브라우저 요소의 가로 스크롤 이동 값을 가져옵니다.
.scrollTop() 브라우저 요소의 세로 스크롤 이동 값을 가져옵니다.
offset, position View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>offset, position</title>
    <style>
        #wrapper{position: absolute; width: 500px; height: 500px; left: 100px; top: 100px;}
        #box {width: 100px; height: 100px; position:absolute; left: 50px; top: 50px; 
        background-color: plum; border: 3px solid skyblue; text-align: center; line-height: 100px;}
    </style>
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script src="assets/js/jquery-ui-1.12.1.min.js"></script>
    <script>
        $( function() {
            
            var box = $("#box");
            var offset = $("#offset");
            
            box.draggable({
                drag:function(){
                    offset.find(".ol").text(box.offset().left);
                    offset.find(".ot").text(box.offset().top);
                    offset.find(".pl").text(box.position().left);
                    offset.find(".pt").text(box.position().top);
                }
            });
        });
    </script>
</head>
<body>
    <div id="offset">
        <span>offset().left = </span><span class="ol">0</span><br>
        <span>offset().top = </span><span class="ot">0</span><br>
        <span>position().left = </span><span class="pl">0</span><br>
        <span>position().top = </span><span class="pt">0</span>
    </div>
    
    <div id="wrapper">
        <div id="box">box</div>
    </div>
</body>
</html>
scrollLeft, scrollTop View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>scrollLeft, scrollTop</title>
    <style>
        * {margin: 0; padding: 0;}
        body{width:2000px; height: 4000px;}
        #scroll {position: fixed; left: 0; top: 0;}
    </style>
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script src="assets/js/jquery-ui-1.12.1.min.js"></script>
    <script>
    $(function(){
        $(window).scroll(function(){
            var sl = $(window).scrollLeft();
            var st = $(window).scrollTop();
            $(".sl").text(sl);
            $(".st").text(st);
        });
    });
    </script>
</head>
<body>
    <div id="scroll">
        <span>srollLeft = </span><span class="sl">0</span>
        <span>srollTop = </span><span class="st">0</span>
    </div>
</body>
</html>
종류 설명
.css() css()요소 값을 알아낼 수도 있고, 설정도 할 수 있습니다.
.addClass() 특정한 클래스 요소를 추가할 수 있습니다.
.hasClass() 특정한 클래스가 있는지 찾을 수 있습니다.
.removeClass() 특정한 클래스를 요소에서 제거할 수 있습니다.
.toggleClass() 특정한 클래스의 추가 제거를 한 번에 할 수 있습니다.
addClass를 이용한 탭 메뉴 만들기1 View
<!DOCTYPE html>
<html lang="en"l>
<headl>
    <meta charset="UTF-8"l>
    <titlel>addClass</titlel>
    <script src="assets/js/jquery-1.12.4.min.js"l></scriptl>
    <stylel>
        *{margin: 0; padding: 0;}
        li{list-style: none}
        a{text-decoration: none;}
        #tab-menu {overflow: hidden; width: 400px; margin: 50px auto;}
        #tab-btn li {float: left; width: 80px; text-align: center;}
        #tab-btn li a {background: #ccc; padding: 10px; display: block;}
        #tab-cont {width: 320px; height: 300px; margin-top: 38px; }
        #tab-cont.img1{background: url(assets/img/img01.jpg) no-repeat; background-size: 320px;}
        #tab-cont.img2{background: url(assets/img/img02.jpg) no-repeat; background-size: 320px;}
        #tab-cont.img3{background: url(assets/img/img03.jpg) no-repeat; background-size: 320px;}
        #tab-cont.img4{background: url(assets/img/img04.jpg) no-repeat; background-size: 320px;}
    </stylel>
    <scriptl>
        $(document).ready(function(){
            $("#tab1").click(function(){
                $("#tab-cont").removeClass().addClass("img1");
            });
            $("#tab2").click(function(){
                $("#tab-cont").removeClass().addClass("img2");
            });
            $("#tab3").click(function(){
                $("#tab-cont").removeClass().addClass("img3");
            });
            $("#tab4").click(function(){
                $("#tab-cont").removeClass().addClass("img4");
            });
            
        });
    </scriptl>
</headl>
<bodyl>
    <div id="tab-menu"l>
        <div id="tab-btn"l>
            <ull>
                <li id="tab1"l><a href="#"l>tab1</al></lil>
                <li id="tab2"l><a href="#"l>tab2</al></lil>
                <li id="tab3"l><a href="#"l>tab3</al></lil>
                <li id="tab4"l><a href="#"l>tab4</al></lil>
            </ull>
        </divl>
        <div id="tab-cont" class="img1"l>
            
        </divl>
    </divl>    
</bodyl>
</htmll>
addClass를 이용한 탭 메뉴 만들기2 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>addClass</title>
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <style>
        *{margin: 0; padding: 0;}
        li{list-style: none}
        a{text-decoration: none;}
        #tab-menu {overflow: hidden; width: 400px; margin: 50px auto;}
        #tab li {float: left; width: 80px; text-align: center;}
        #tab li a {background: #ccc; padding: 10px; display: block;}
        #tab li a.active {background: black; color:#fff;}
        #content {width: 320px; height: 345px; margin-top: 38px; }
  
    </style>
    <script>
        $(document).ready(function(){
            var tab = $("#tab > ul > li");
            var content = $("#content > div");
            
            tab.click(function(){
                var tg = $(this);                       //클릭한 버튼 타겟을 변수에 할당
                var tc = tg.find(">a");                 //this의 a태그 자식엘리먼트를 선택
                tab.find(">a").removeClass("active");   //active를 삭제
                tc.addClass("active");
                var index = tg.index();                 //클릭한 요소한테 인엑스를 할당
                //alert(index);
                content.css("display","none");
                content.eq(index).css("display","block");
            });
        });
    </script>
</head>
<body>
    <div id="tab-menu">
        <div id="tab">
            <ul>
                <li id="tab1"><a href="#" class="active">tab1</a></li>
                <li id="tab2"><a href="#" >tab2</a></li>
                <li id="tab3"><a href="#" >tab3</a></li>
                <li id="tab4"><a href="#" >tab4</a></li>
            </ul>
        </div>
        <div id="content">
            <div><img src="assets/img/faceC1.png" width="320" alt="">contents1</div>
            <div><img src="assets/img/faceC2.png" width="320" alt="">contents2</div>
            <div><img src="assets/img/faceC3.png" width="320" alt="">contents3</div>
            <div><img src="assets/img/faceC4.png" width="320" alt="">contents4</div>
        </div>
    </div>    

</body>
</html>

브라우저에서 사용자가 취하는 모든 동작을 이벤트라고 합니다. 마우스로 클릭을 하거나 마우스를 올리는 행위가 이벤트에 해당되며, 이벤트 발생했을 때 자바스크립트 실행문을 실행하는 것을 이벤트 핸들러라고 합니다.

종류 설명
.bind() 선택한 요소에 한개 이상의 이벤트를 등록할 수 있습니다.
.unbind() 선택한 요소에 이벤트를 제거합니다.
.delegate() 선택한 요소의 지정된 하위 요소에 이벤트를 등록합니다.
.undelegate() 선택한 요소의 지정된 하위 요소에 이벤트를 제거합니다.
.on() 선택한 요소의 이벤트를 설정합니다.
.off() 선택한 요소의 이벤트를 제거합니다.
.triggle() 선택한 요소의 이벤트를 수동으로 발생시킵니다.

jQuery 1.9버전 이전에는 bind(),delegate(),live() 이벤트가 있었지만 1.9버전 이후에는 on()으로 통일되었습니다.

종류 설명
.click() 선택한 요소를 클릭했을 때 이벤트가 발생합니다.
.dbclick() 선택한 요소를 더블 클릭했을 때 이벤트가 발생합니다.
.hover() 선택한 요소에 마우스를 올렸을 때(mouseenter)와 벗어 났을 때 (mouseleave) 각각 이벤트가 발생합니다.
.mousedown() 선택한 요소에서 마우스 버튼을 눌렀을 때 이벤트가 발생합니다.
.mouseout() 선택한 요소에서 마우스가 벗어 났을 때 이벤트가 발생합니다.
.mouseover() 선택한 요소에서 마우스를 올렸을 때 이벤트가 발생합니다.
.mouseup() 선택한 요소에서 마우스를 눌렀다가 떼었을 때 이벤트가 발생합니다.
.mouseenter() 선택한 요소 범위 내에서 마우스를 올렸을 때 이벤트가 발생합니다.
.mouseleave() 선택한 요소 범위 내에서 마우스가 벗어 났을 때 이벤트가 발생합니다.
.mousemove() 선택한 요소 범위 내에서 마우스를 움직였을 때 이벤트가 발생합니다.
폰트 크기 변경하기 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>폰트 크기 변경하기</title>
    <style>
        body {font-size: 12px dotum, "돋움", sans-serif;}
        .text-wrap {font-family: dotum, "돋움"}
    </style>    
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script src="assets/js/jquery-ui-1.12.1.min.js"></script>
    <script>
        $(document).ready(function(){
            var size = 12;
        
        $(".zoom button").on("click",function(){
            var btn_index = $(this).index();
            //alert(btn_index);
            
            if(btn_index == 0){
                size++;
                $(".text-wrap").css("font-size", size+"px");
            }else if(btn_index == 2){
                size--;
                $(".text-wrap").css("font-size", size+"px");
            }else {
                $(".text-wrap").css("font-size","12px");
                size = 12;
            }
        });
            $("#fs").on("change",function(){
            $(".text-wrap").css("font-family",$(this).val());
        });
            
        });
    </script>
</head>
<body>
   <div class="btn">
       <div class="zoom">
            글자크기
            <button>+</button>
            <button>0</button>
            <button>-</button>
       </div>
       <div class="font">
            글자모양
            <select id="fs" name = "fs">
                <option value="'Nanum Gothic','나눔고딕'">나눔고딕</option>
                <option value="'Nanum Myeongjo','나눔명조'">나눔명조</option>
                <option value="'Malgun Gothic','맑은고딕'">맑은고딕</option>
                <option value="'Doutum','돋움'">돋움</option>
                <option value="'Gulim','굴림'">굴림</option>
                <option value="'Gungsuh','궁서'">궁서</option>
            </select>
       </div>
   </div>
   
    <p class="text-wrap">
        미국에서 큰 도시를 여행할 때마다 빠지지 않고 '푸드 낫 밤(Food Not Bomb)' 행사에 갔다. 푸드 낫 밤은 미국에서 시작해 현재 전 세계 60개국으로 퍼진 무정부주의자 운동이다. 미국에만 500개의 푸드 낫 밤 모임이 있다. 푸드 낫 밤은 자원봉사자들이 모여 요리를 하고, 길거리에 음식을 들고 나가 아무에게나 나눠주는 조직이다. 언뜻 들으면 노숙인을 돕는 봉사단체 같지만, 분명 다르다.
        Last December, Winston Perez Ventura, a senior at Democracy Prep Harlem High School in New York, was huddled in front of an open MacBook, sporting a Cornell sweatshirt. Surrounding him were more than a dozen friends and classmates; some held their cellphones up at the ready. All were anxiously waiting for Winston to click something on the laptop.
    </p>
</body>
</html>
탭 메뉴 만들기 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>탭 메뉴 만들기</title>
    <style>
        #jsTab {padding: 20px; width: 300px; margin: 200px auto;}
        #jsTab li {position: relative; list-style: none; display: inline-block;}
        #jsTab li a {background-color: #ea9c9c; padding: 10px; color: #fff; border-radius: 5px; display: inline-block; text-decoration: none;}
        #jsTab li em {opacity: 0; position: absolute; left: 50%; bottom: 70px; background: #000; color:#fff; width: 200px; padding: 10px; border-radius: 5px; margin-left: -100px}
        #jsTab li em:after{content: ''; position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%);
            border-top: 10px solid #000;
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;   
        }
            
    </style>    
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script src="assets/js/jquery-ui-1.12.1.min.js"></script>
    <script>
    $(document).ready(function(){    
        //css, ainmate를 이용한 경우
        $("#jsTab li a").hover(function(){
            $(this).next("em").css("opacity","1")
        },function(){
            $(this).next("em").css("opacity","0")
        });
     });     
    </script>
</head>
<body>
    <div id="jsTab">
       <ul>
           <li><a href="#">JS TAB1</a><em>제이쿼리는 자바스크립트 라이브러리를 이용해 만든 언어입니다. 라이브러리는 자주 사용하는 코드를 재사용 및 효율성 있게 사용할 수 있도록 만들어진 함수의 집합을 의합니다.</em></li>
           <li><a href="#">JS TAB2</a><em>제이쿼리는 자바스크립트 라이브러리를 이용해 만든 언어입니다. 라이브러리는 자주 사용하는 코드를 재사용 및 효율성 있게 사용할 수 있도록 만들어진 함수의 집합을 의합니다.</em></li>
           <li><a href="#">JS TAB3</a><em>제이쿼리는 자바스크립트 라이브러리를 이용해 만든 언어입니다. 라이브러리는 자주 사용하는 코드를 재사용 및 효율성 있게 사용할 수 있도록 만들어진 함수의 집합을 의합니다.</em></li>
       </ul>
        
    </div>
</body>
</html>
이미지 오버 효과 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ainmate</title>
    <style>
        * {padding: 0; margin: 0;}
        a {text-decoration: none;}
        img {display: block;}
        h1 {text-align: center; padding: 10px 0;}
        ul {width: 1230px; margin: 20px auto; overflow: hidden;}
        li {overflow: hidden; list-style: none; float: left; position: relative; margin-right: 10px; cursor: pointer;}
        
        li span {opacity: 0; transition: all 0.3s ease; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(205,203,199,0.3); display: block; z-index: 9;}
        
        .cssEffect li em {opacity: 0; position: absolute; bottom: 0; left: 0; width: 100%; padding: 20px; box-sizing: border-box; background: rgba(0,0,0,0.7); color: #fff; transition: all 0.3s ease; z-index: 10;}
        
        .jsEffect li em {opacity: 0; position: absolute; bottom: 0; left: 0; width: 100%; padding: 20px; box-sizing: border-box; background: rgba(0,0,0,0.7); color: #fff; z-index: 10;}
        
        .cssEffect li:nth-child(1):hover em {opacity: 1;}
        .cssEffect li:nth-child(1):hover span {opacity: 1;}
        
        .cssEffect li:nth-child(2) em {opacity: 0; left:-100%;}
        .cssEffect li:nth-child(2):hover em {opacity: 1; left:0;}
        .cssEffect li:nth-child(2):hover span {opacity: 1;}
        
        .cssEffect li:nth-child(3) em {opacity: 0; bottom:-100%;}
        .cssEffect li:nth-child(3):hover em {opacity: 1; bottom:0;}
        .cssEffect li:nth-child(3):hover span {opacity: 1;}
    </style>
    
    
</head>
<body>
  <h1>CSS Hover Effect</h1>
  <div class="cssEffect">
      <ul>
          <li><img src="assets/img/img01.jpg" width="400" alt=""><em>CSS EFFECT1</em><span></span></li>
          <li><img src="assets/img/img02.jpg" width="400" alt=""><em>CSS EFFECT2</em><span></span></li>
          <li><img src="assets/img/img04.jpg" width="400" alt=""><em>CSS EFFECT3</em><span></span></li>
      </ul>
  </div>
  <h1>JS Hover Effect</h1>
  <div class="jsEffect">
      <ul>
          <li><img src="assets/img/img01.jpg" width="400" alt=""><em>JS EFFECT3</em></li>
          <li><img src="assets/img/img02.jpg" width="400" alt=""><em>JS EFFECT3</em></li>
          <li><img src="assets/img/img04.jpg" width="400" alt=""><em>JS EFFECT3</em></li>
      </ul>
  </div>
  
  
  <!-- jquery 설정 -->
	<script src="assets/js/jquery-1.12.4.min.js"></script>
	<script src="assets/js/jquery-ui-1.12.1.min.js"></script>
	<script>
        var img = $(".jsEffect > ul > li");
        
        //img.filter(":nth-child(1)").on('mouseover',function(){            
            //$(this).find('em','span').css("opacity","1");
        //}).on('mouseout',function(){
            //$(this).find('em','span').css("opacity","0");
        //});
        
        //두번째 효과
        img.filter(':nth-child(2)')
            .on('mouseover', function(){
              $(this).find('em').stop().animate({opacity: 1, left: '0%'},300);
              $(this).find('span').stop().animate({opacity: 1},300);
            })
            .on('mouseout', function(){
              $(this).find('em').stop().animate({opacity: 0, left: '-100%'},300);
              $(this).find('span').stop().animate({opacity: 0},300);
            });
        
        //세번째 효과
        img.filter(':nth-child(3)')
            .on('mouseover', function(){
                $(this).find('em').stop().animate({ opacity: 1, bottom: '0' },300);
                $(this).find('span').stop().animate({ opacity: 1},300);
              })
            .on('mouseout', function(){
                $(this).find('em').stop().animate({ opacity: 0, bottom: '-100%' },300);
                $(this).find('span').stop().animate({ opacity: 0},300);
            });
    </script>
</body>
</html>
마우스 오버 이미지 변경 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ainmate</title>
    <style>
        * {padding: 0; margin: 0;}
        a {text-decoration: none;}
        img {display: block;}
        h1 {text-align: center; padding: 40px 0;}
        
        .imgHover {width: 1230px; margin: 20px auto; overflow: hidden;}
        .imgHover > div {float: left; width: 400px; height: 300px; }
        .imgHover > div img:nth-child(1) {position: absolute;}
        .imgHover > div img:nth-child(2) {opacity: 0;}
    </style>
        
</head>
<body>
  <h1>Images Hover Effect</h1>
  <div class="imgHover">
      <div class="img1">
          <img src="assets/img/img01.jpg" alt="" width="400">
          <img src="assets/img/img02.jpg" alt="" width="400">
      </div>
      <div class="img2">
          <img src="assets/img/img02.jpg" alt="" width="400">
          <img src="assets/img/img01.jpg" alt="" width="400">
      </div>
      <div class="img3">
          <img src="assets/img/img03.jpg" alt="" width="400">
          <img src="assets/img/img04.jpg" alt="" width="400">
      </div>
  </div>

  
  <!-- jquery 설정 -->
	<script src="assets/js/jquery-1.12.4.min.js"></script>
	<script src="assets/js/jquery-ui-1.12.1.min.js"></script>
	<script>
        //$(".imgHover").on("mouseover",function(){}).om("mouseout",function(){})
        $(".imgHover>div").on({
            mouseover:function(){
                $(this).find("img:nth-child(1)").stop().animate({opacity:0},600);
                $(this).find("img:nth-child(2)").stop().animate({opacity:1},600);
            },
            mouseout:function(){
                $(this).find("img:nth-child(1)").stop().animate({opacity:1},600);
                $(this).find("img:nth-child(2)").stop().animate({opacity:0},600);
            }
        });
    </script>
</body>
</html>
메서드 설명
.blur() 요소에서 포커스가 떠날 때 이벤트가 발생합니다.
.change() 요소에서 값이 변경될 때 이벤트가 발생합니다.
.focus() 요소에 포커스를 획득했을 때 이벤트가 발생합니다.
.focusin() 선택한 요소에 포커스가 맞추어지기 바로 전에 발생합니다.
.focusout() 선택한 요소에서 포커스가 사라지기 바로 전에 발생합니다.
.select() 입력 양식 텍스트를 선택했을 때 이벤트가 발생합니다.
.submit() submit 버튼을 누르면 이벤트가 발생합니다.
.reset() reset 버튼을 누르면 이벤트가 발생합니다.
select View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Select Menu</title>
    <style>
        * {padding: 0; margin: 0;}
        a {text-decoration: none;}
        img {display: block;}
        h1 {text-align: center; padding: 40px 0;} 
        .select-wrap {text-align: center; margin: 0 auto; width: 100px;}
    </style>
 
</head>
<body>
  <h1>Select Menu</h1>
  <div class="select-wrap">
      <select name="select" id="select">
          <option value="www.naver.com">네이버</option>
          <option value="www.daum.net">다음</option>
          <option value="www.nate.com">네이트</option>
          <option value="www.goggle.com">구글</option>
      </select>
  </div>

  <!-- jquery 설정 -->
	<script src="assets/js/jquery-1.12.4.min.js"></script>
	<script src="assets/js/jquery-ui-1.12.1.min.js"></script>
	<script>
        $("#select").change(function(){
            var url = $(this).val();
            if(url){
                location.href="http://"+url;
            }
        });
    </script>
</body>
</html>
메서드 설명
.keydown() 선택한 요소에서 키보드를 눌렀을 때 이벤트가 발생합니다.
.keypress() 선택한 요소에서 키보드를 계속 누르고 있을 때 이벤트가 발생합니다.
.keyup() 선택한 요소에서 키보드를 눌렀다 떼었을 때 이벤트가 발생합니다.
Keyup View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Keyup</title>
    <style>
        * {padding: 0; margin: 0;}
        a {text-decoration: none;}
        img {display: block;}
        h1 {padding: 20px;}
    </style>
        
</head>
<body>
  <h2>Keyup</h2>
  <div>
      <p>글자 개수 파악하기</p>
      <h1>150</h1>
      <textarea name="text" id="text" cols="70" rows="10"></textarea>
  </div>

  <!-- jquery 설정 -->
	<script src="assets/js/jquery-1.12.4.min.js"></script>
	<script src="assets/js/jquery-ui-1.12.1.min.js"></script>
	<script>
        $("#text").keyup(function(){
            var input = $(this).val().length;
            var remain = 150 - input;
            
            $("h1").html(remain);
            
            if(remain >= 0){
                $("h2").css("color","skyblue");    
            }else{
                $("p").css("color","pink");
                $("p").css("그만 입력하세요");
            }
        });
    </script>
</body>
</html>
메서드 설명
.resize() 웹 브라우저 사이즈 변화가 있을 때 이벤트가 발생합니다.
.scroll() 웹 브라우저 스크롤의 변화가 있을 때 이벤트가 발생합니다.
.ready() 웹 페이지가 로딩되었을 때 이벤트가 발생합니다.
.load() 문서를 불러 들일 때 이벤트가 발생합니다.
.unload() 해당 페이지를 빠져 나갈 때 이벤트가 발생합니다.
.error() 해당 페이지가 에러 났을 때 이벤트가 발생합니다.
.index() 이벤트가 발생한 요소의 인덱스 값을 반환합니다.
마우스 이미지 변경 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Select</title>
    <style>
        * {padding: 0; margin: 0;}
        a {text-decoration: none;}
        img {display: block;}
        h1 {padding: 20px;}
        #box {margin: 200px auto; width: 300px;}
        #box span {background-color: antiquewhite; border-radius: 10px; display: block; text-align: center; padding: 20px 40px; cursor: pointer;}
        .hand {position: absolute; left: 0; top: 0; display: none;}
    </style>
    
</head>
<body>
  <h1>Mouse Move</h1>
  
  <div class="hand"><img src="assets/img/cursor_img1_on.png" width="800"></div>
  <div id="box">
      <span>Mouse1</span>
  </div>
 
  
  <!-- jquery 설정 -->
	<script src="assets/js/jquery-1.12.4.min.js"></script>
	<script src="assets/js/jquery-ui-1.12.1.min.js"></script>
	<script>
        $("#box span").hover(function(){
            $(".hand").show();
        },function(){
            $(".hand").hide();
        });
        $("#box").mousemove(function(e){
            $(".hand").css("left",e.pageX+30).css("top",e.pageY-50);
        });
    </script>
</body>
</html>
Canvas View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Select</title>
    <style>
        * {padding: 0; margin: 0;}
        a {text-decoration: none;}
        img {display: block;}
        #canvas {border: 3px solid #ccc}
    </style>
        
</head>
<body>
  <h1>Canvas</h1>
  
  <canvas id="canvas" width="1200" height="400"></canvas>
  
  <!-- jquery 설정 -->
	<script src="assets/js/jquery-1.12.4.min.js"></script>
	<script src="assets/js/jquery-ui-1.12.1.min.js"></script>
	<script>
        var canvas = document.getElementById('canvas');
        var context = canvas.getContext('2d');
        
        $(canvas).on({
            mousedown:function(event){
                var position = $(this).offset();
                var x = event.pageX - position.left;
                var y = event.pageY - position.top;
                
                //선을 그립니다.
                context.beginPath();
                context.moveTo(x,y);
            },
            mouseup:function(event){
                var position = $(this).offset();
                var x = event.pageX - position.left;
                var y = event.pageY - position.top;
                
                //선을 그립니다.
                context.lineTo(x, y);
                context.stroke();
            }
        });
        
    </script>
</body>
</html>
무한 스크롤 만들기 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>무한 스크롤 만들기</title>
    <style>
        * {padding: 0; margin: 0;}
        a {text-decoration: none;}
    </style>
        
</head>
<body>

  <!-- jquery 설정 -->
	<script src="assets/js/jquery-1.12.4.min.js"></script>
	<script src="assets/js/jquery-ui-1.12.1.min.js"></script>
	<script>
        $(window).scroll(function(){
            var scrollHeight = $(window).scrollTop() + $(window).height();
            var documentHeight = $(document).height();
            
            //스크롤의 높이의 문서의 높이가 같으면
            if(scrollHeight == documentHeight){
                for(var i=0; i<10; i++){
                    $('<div><img src = "assets/img/img02.jpg" width="100"></div>').appendTo('body');
                }
            }
        });      
        
        for(var i=0; i<20; i++){
            $('<div><img src = "assets/img/img01.jpg" width="100"></div>').appendTo('body');
        }
    </script>
</body>
</html>
메서드 설명
.altKey 이벤트 발생시 [Alt] 키를 누르고 있었는지 boolean으로 알려줍니다.
.ctrlKey 이벤트 발생시 [Ctrl] 키를 누르고 있었는지 boolean으로 알려줍니다.
.shiftKey 이벤트 발생시 [Shift] 키를 누르고 있었는지 boolean으로 알려줍니다.
.clintX document에서 스크롤 이동값을 제외하고 마우스의 x좌표 값을 알려줍니다.
.clintY document에서 스크롤 이동값을 제외하고 마우스의 y좌표 값을 알려줍니다.
.data 이벤트 생성시 매개변수 두 번째에 값을 넘겨주면, event의 프로퍼티를 통해서 전달됩니다.
.keyCode 이벤트 발생시 키보드의 키를 누르면 키의 고유값을 알려줍니다.
.offsetX 이벤트 발생시 이벤트의 대상으로 부터 마우스의 X좌표를 알려줍니다.
.offsetY 이벤트 발생시 이벤트의 대상으로 부터 마우스의 Y좌표를 알려줍니다.
.pageX document에서 스크롤 이동값을 포함한 마우스의 X좌표를 알려줍니다.
.pageY document에서 스크롤 이동값을 포함한 마우스의 Y좌표를 알려줍니다.
.screenX 모니터 화면을 기준으로 마우스의 X좌표 값을 알려줍니다.
.screenY 모니터 화면을 기준으로 마우스의 Y좌표 값을 알려줍니다.
.target 이벤트가 발생한 요소를 알려줍니다.
.type 발생한 이벤트의 타입명을 알려줍니다.

다양한 움직임과 효과를 줄 수 있는 제이쿼리 메서드입니다.

${selector}.mathad()
${selector}.mathad(duration);
${selector}.mathad(duration, callback);
${selector}.mathad(duration, eading, callback);

duration : 이펙트가 지속되는 시간을 의미합니다. 1/1000밀리 세컨드 단위이며, 'slow','normal','fast'표현입니다.
eading : 이펙트 소피드를 조절하는 효과입니다.
callback : 콜백함수는 스스로 호출되는 함수의 의미로 애니메이션 효과가 완료되면 자동으로 호출되는 함수를 말합니다.
종류 설명
.hide() 선택한 요소를 숨깁니다.
.show() 선택한 요소를 보여줍니다.
.toggle() 숨겨져 있던 요소를 노출시키고, 노출되어 있던 요소는 숨깁니다.
.fadeIn() opacity를 0에서 1로 전환하면서 서서히 나타나게 합니다.
.fadeOut() opacity를 1에서 0으로 전환하면서 서서히 나타나게 합니다.
.fadeToggle() fadeIn()과 fadeOut()을 번갈아 가면서 실행합니다.
.fadeTo() 불투명도를 지정하여 fade를 조절합니다.
.slideDown() 슬라이딩 스타일로 요소를 보이게 합니다.
.slideUp() 슬라이딩 스타일로 요소를 숨기게 합니다.
.slideToggle() slideDown()과 slideUp()을 번갈아 가면서 실행합니다.
탭 메뉴 만들기View

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>탭메뉴 만들기</title>
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script>
        //hide를 입력하면 박스를 안보이게 하기
        
        $(document).ready(function(){
         
            $("#btn1").click(function(){
              $(".box").hide();
          }); 
             $("#btn2").click(function(){
              $(".box").show();
          }); 
             $("#btn3").click(function(){
              $(".box").toggle();
          });
           $("#btn4").click(function(){
                $(".box").fadeIn(1000);
            });
            $("#btn5").click(function(){
                $(".box").fadeOut("slow");
            });
            $("#btn6").click(function(){
                $(".box").fadeToggle("fast");
            });
            $("#btn7").click(function(){
                $(".box").fadeTo("slow",0.3);
            });
            $("#btn8").click(function(){
                $(".box").fadeTo("slow",1);
            });
            $("#btn9").click(function(){
                $(".box").slideUp("slow");
            });
            $("#btn10").click(function(){
                $(".box").slideDown("slow");
            });
            $("#btn11").click(function(){
               $(".box").slideToggle("slow");
            });
           
        });
    </script>
</head>
<body>
  <h1>제이쿼리 효과</h1>
    <button id="btn1">hide</button>
    <button id="btn2">show</button>
    <button id="btn3">toggle</button>
    <button id="btn4">fadeIn</button>
    <button id="btn5">fadeOut</button>
    <button id="btn6">fadeToggle</button>
    <button id="btn7">fadeTo(0.3)</button>
    <button id="btn8">fadeTo(1)</button>
    <button id="btn9">slideUp(1)</button>
    <button id="btn10">slideDown(1)</button>
    <button id="btn11">slideToggle(1)</button>
    <div class="box">
            $(selector).method();<br>
            $(selector).method(duration);<br>
            $(selector).method(duration, callback);<br>
            $(selector).method(duration, eading, callback);<br><br>
            duration: 이펙트가 지속되는 시간을 의미합니다. 1/1000밀리세컨드 단위이며, 'slow','normal','fast'표현합니다.<br>
            easing : 이팩트 스피드를 조절하는 효과입니다.<br>
            callback : 콜백함수는 스스로 호출되는 함수의 의미로 에니메이션 효과가 완료되면 자동으로 호출되는 함수를 말합니다.<br>
    </div>
</body>
</html>
종류 설명
.animate() 선택한 요소에 애니메이션을 적용합니다.
.stop() 실행중인 애니메이션을 정지합니다.
.delay() 애니메이션 효과를 지연합니다.
.queue() 선택한 요소 스택에 대기 중인 큐를 반환하거나 추가할 수 있습니다.
.clearQueue() 첫 번째 큐에 해당하는 효과 또는 애니메이션만 실행하고 대기 중인 큐를 모두 삭제합니다.
.dequeue() 스텍에 쌓인 큐를 모두 제거합니다.
.finish() 선택한 요소의 진해중인 애니메이션을 강제로 종료합니다.
$(selector).animate(properties);
$(selector).animate(properties,duration);
$(selector).animate(properties,duration,easing);
$(selector).animate(properties,duration,easing,collback);

properties에 올수 있는 값
border, margin, padding, height, width, font-size, left, top, bottom, right, line-height
properties에 올수 없는 값
background-color, 축약형

$("selector").animate({fontSize:"20px"},2000);
$("selector").animate({"font-size":"20px"},2000);
//폰트 사이즈를 현재 크기에서 20px로 2초동안 애니메이션 합니다.
$("selector").animate({marginLeft:100,marginRight:100},600);
$("selector").animate({"margin-left":"100","margin-right":"100"},600);
//선택한 요소의 왼족 오른족 마진 값을 100px로 600밀리세컨드 동안 애니메이션 합니다.
ainmate1 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>animate</title>  
    <style>
        .img {width: 400px; height:300px; overflow: hidden;}
    </style>
      
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script src="assets/js/jquery-ui-1.12.1.min.js"></script>
    
    <script>
        $(document).ready(function(){
            //버튼1를 클릭하면 이미지를 slideToggle를 이용해서 나타나거나 없어지게
            
            $(".btn1").click(function(){
                $(".img").slideToggle();
            });
            
            $(".btn2").click(function(){
                $(".img").animate({height:"0"},400);
            });
            
            $(".btn3").click(function(){
                $(".img").animate({height:"300"},400);
            });
            $(".btn3").click(function(){
                $(".img").animate({height:"300"},400);
            });
            $(".btn4").click(function(){
                $(".img").animate({width:"0"},400);
            });
            $(".btn5").click(function(){
                $(".img").animate({width:"300"},400);
            });
        });
    </script>

</head>
<body>
    <button class="btn1">slideToggle</button>
    <button class="btn2">height hide</button>
    <button class="btn3">hegith show</button>
    <button class="btn4">width hide</button>
    <button class="btn5">width show</button>
    <div class="img">
        <img src="assets/img/face1.png" alt="">
    </div>
</body>
</html>
ainmate2 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>animate2</title>  
    <style>
        .box {width: 50px; height:50px; background-color: powderblue; position: relative; margin: 1px; cursor: pointer;}
    </style>
      
    <script src="assets/js/jquery-1.12.4.min.js"></script>
    <script src="assets/js/jquery-ui-1.12.1.min.js"></script>
    
    <script>
        $(document).ready(function(){
            $(".box").hover(function(){
                $(this).animate({left:500, width:50},600);
            },function(){
                $(this).animate({left:0, width:50},600);               
            });
            
            $(".btn1").click(function(){
                $(".box").animate({width: '+=50', height: '+=50'},'slow');
            });
        });
    </script>

</head>
<body>
    <button class="btn1">Size</button>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
</body>
</html>
ainmate3 View
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>ainmate3</title>
    <style>
        .img {display: flex; align-items: center; justify-content: center; height: 100vh;}
    </style>
    <!-- jquery 설정 -->
	<script src="assets/js/jquery-1.12.4.min.js"></script>
	<script src="assets/js/jquery-ui-1.12.1.min.js"></script>
	<script>
    $(document).ready(function(){
        function loop(){
            $(".img").animate({ marginTop:0},1000).animate({marginTop:20},1000,loop);
        }
        loop();
    }); 
    </script>
    
</head>
<body>
  <div class="img">
      <img src="assets/img/island.png" width="500">
  </div>
</body>
</html>