[TRAVERSING]

.end();

- 메소드 체인에서 이전요소로 돌아간다.

('ul').find('.foo').css('background-color', 'red').end().find('.bar').css('background-color', 'green');

- ul태그에서 foo를 찾아서 배경색을 red로 바꾼 후, end()를 만나 foo가 아닌 ul태그를 재선택한 후 bar를 찾아 배경색을 green을 바꾼다.


[MANIPULATION]

.append()

- selector의 child로 추가된다.

$('.container').append($('#myp'));

- id myp를 .container의 child로 이동시켜 추가한다.


.after() : selector 다음에 sibling(형제관계)로 추가된다.

.before() : selector 이전에 sibling(형제관계)로 추가된다.

* 동급으로 추가해주고 싶으면 .after() / .before() 사용


.insertBefore()

$('h2').insertBefore($('.container'));

- h2가 .container 앞쪽으로 재배치된다.


.insertAfter()

$('h2').insertAfter($('.container'));

- h2가 .container 뒤쪽으로 재배치된다.


.replaceAll()

$('<h1>replace data</h1>').replaceAll('.inner');

- .inner 내용이 <h1>replace data</h1>로 바뀐다.

- CSS에서 h1 스타일 지정되어있으면 적용된다.


.wrap()

$('p').wrap('<div class="new"></div>')

- p태그가 <div class="new"></div>로 감싸진다.

- p태그가 여러개이면 하나씩 개별적으로 각각 <div></div>로 감싸진다.


.wrapAll()

$('p').wrapAll('<div class="new"></div>')

- p태그가 <div class="new"></div>로 감싸진다.

- p태그가 여러개이면 한꺼번에 <div></div>로 감싸진다.


.wrapInner()

$('p').wrapInner('<div class="new"></div>');

- p태그 안쪽으로 <div class="new"></div>가 생긴다.



.addClass()

$('#mydiv').addClass('myclass');

- mydiv에 class="myclass" 속성을 추가한다.


.removeClass()

$('#mydiv').removeClass('myclass');

- mydiv에 class="myclass" 속성을 제거한다.


[EVENTS]


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

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

    <script>

        function init() {

            //방법1

            /*mybtn.onclick = function () {

                alert('a');


            }*/

            //방법2

            /*mybtn.addEventListener("click", function () {

                alert('b');

            })*/


            //방법3(btnClick 함수 필요)

            //mybtn.onclick = btnClick;

            //방법4(btnClick 함수 필요)

            //mybtn.addEventListener("click", btnClick);

            //방법5(btnClick 함수 필요)

            //$('#mybtn').click(btnClick);

            //방법6(btnClick 함수 필요)

            //$('#mybtn').on('click', btnClick);

        }

        function btnClick() {

            alert('c');

        }

    </script>

</head>

<body onload="init()">

<button id="mybtn">button</button>

</body>

</html>


$(document).ready(init);

$(init);

<body onload="init()>

- 세가지 방법 모두 결과는 같다.


$(document).ready(function () {

})

        

$(function () {

})

- 두가지 방법 모두 결과는 같다.


.click()

$(function () {

            $('div').click(function () {

                alert($(this).text()); //alert(this.innerText)

            })

$('#mybtn').click(function () {

     alert('call...');

 })

        })

- div 내용 click시 alert창에 div 내용이 뜬다.

- mybtn click시 alert창에 call....이 뜬다.


<Mouse Events>

$(document).ready(init);

        function init() {

            $('#mydiv').mousedown(function (event) {

                console.log(event.clientX, event.clientY);

            })//1

            $('#mydiv').mousemove(function (event) {

                console.log(event.clientX, event.clientY);

            })//2

            $('#mydiv').on('mousemove', function (event) {

                console.log(event.clientX, event.clientY);

            })//3

            $('#mydiv').hover(function () {

                $(this).css('background-color', 'blue')

            }, function () {

                $(this).css('background-color', 'yellow')

            })//4

        } 


#1> mydiv 클릭했을 경우 발생한다.

#2> mydiv 클릭했다 뗐을 경우 발생한다.

#3> 2번과 결과는 같다.

#4> 마우스 hover됐을 경우 발생한다.


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

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

    <script>

        $(function () {

            $('#mydiv').click(cfn)

        })

        function cfn() {

            alert('call')

        }

        function rfn() {

            $('#mydiv').off("click", cfn)

        }

        function afn() {

            $('#mydiv').on("click", cfn)

        }

    </script>

</head>

<body>

    <div id="mydiv">mydiv</div><br>

    <button onclick="afn()">확인</button>

    <button onclick="rfn()">취소</button>

</body>

</html> 


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

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

    <script>

        $(function () {

            //$('li').click(cfn)

            $(document).on('click', 'li', cfn)

        })

        function cfn() {

            alert('call')

        }

        function afn() {

            $('ul').append('<li>추가</li>')

        }

    </script>

</head>

<body>

<ul>

    <li>list</li>

</ul>

    <button onclick="afn()">추가</button>

</body>

</html> 


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <style>

        table{

            width: 400px;

            text-align: center;

        }

    </style>

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

    <script>

        $(function () {

            $(document).on("click", ".bdel", function () {

                $(this).parent().parent().remove();

            })


            $(document).on("click", ".bmodify", function () {

                $(this).parent().prev().prev().attr('contenteditable', true);

                $(this).parent().prev().attr('contenteditable', true);

                $(this).text('완료');

            })

        })

        function addFn() {

            $('#mytable').append('<tr><td>테스트</td><td>20</td>' +

                '<td><button class="bmodify">수정</button></td>' +

                '<td><button class="bdel">삭제</button></td></tr>');


        }    

    </script>

</head>

<body>

<button onclick="addFn()">추가하기</button><br>

    <table id="mytable" border="1">

        <tr>

            <th>이름</th>

            <th>나이</th>

            <th colspan="2">편집</th>

        </tr>

    </table>

</body>

</html> 


<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

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

    <script>

        $(function () {

            $('[name="grade"]').click(function () {

                alert($(this).val())

            })

            $('#mysel').change(function () {

                alert($(this).val())

            })

            $('#myin').keyup(function () {

                $('#myin1').val($(this).val());

            })

        })

    </script>

</head>

<body>

    이름 : <input id="myin" type="text"><br>

    이름 : <input id="myin1" type="text"><br>

    <input type="radio" name="grade" value="1학년">1학년<br>

    <input type="radio" name="grade" value="2학년">2학년<br>

    <input type="radio" name="grade" value="3학년">3학년<br>


    <select id="mysel">

        <option value="선택1">선택1</option>

        <option value="선택2">선택2</option>

        <option value="선택3">선택3</option>

    </select>


</body>

</html> 


 <!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <style>

        img{

            width: 150px;

            height:150px;

        }

    </style>

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

    <script>

        $(function () {

                $(document).on("click", "img", function () {

                    $('#wrap').prepend($(this));

                })

                /*$("img").click(function () {

                    $('#wrap').prepend($(this))

                })*/

        })

    </script>

</head>

<body>

<div id="wrap">

    <img src="image/aa.jpg">

    <img src="image/bb.png">

    <img src="image/c.jpg">

    <img src="image/d.jpg">

</div>

</body>

</html>


[EFFECTS]


.hide()

 $('#myimg').hide(3000, function () {

console.log('end...')

$('#mydiv').text('hide~~~~')

})

- 나타난다.(3초동안 서서히).


.show()

 $('#myimg').show(3000, function () {

console.log('end...')

$('#mydiv').text('hide~~~~')

})

- 나타난다.(3초동안 서서히).


.toggle()

$('#myimg').toggle(2000);

- 숨겨져있으면 보여지게되고, 보여지고 있으면 숨겨진다.


.slideDown()

$('#mydiv').slideDown(1000);`


.slideUp()

$('#mydiv').slideUp(1000);`


.animate()

imgattr = {width:"300px", height:"300px", left:"100px"}

$('#myimg').animate(imgattr, 2000);

- imgattr 속성값으로 움직인다.(2초동안 서서히)


내용보기 text 클릭시 아래 내용 나오는 예제

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <style>

        #title, #panel{

            background-color: #ffd8c5;

            color: white;

            border-radius: 10px;

            border:2px solid #ff9490;

            text-align: center;

        }

        #panel{

            display: none;

        }

    </style>

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

    <script>

        var isdown = false;

        $(function () {

            $('#title').click(function () {

                if(isdown){

                    $('#panel').slideUp(1000);

                    isdown=false;

                }else{

                    $('#panel').slideDown(1000);

                    isdown=true;

                }

            })

        })

    </script>

</head>

<body>

    <div id="title">내용보기</div>

    <div id="panel">나는 자랑스런 태극기 앞에

    조국과 민족의 무궁한 영광을 위하여

    </div>

</body>

</html> 




.removeAttr();

$(this).removeAttr('style');

- style 속성을 제거한다.


이미지 클릭시 이미지 확대되는 예제

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <style>

        img{

            position: relative;

            width: 150px;

            height:150px;

        }

    </style>

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

    <script>

        var prevElm;

        $(function () {

            $('img').click(function () {

                $(prevElm).removeAttr('style');

                imgattr = {width:"300px", height:"300px", left:"100px"}

                $(this).animate(imgattr, 1000, function () {

                    prevElm = this;

                })

            })

        })

    </script>

</head>

<body>

<div id="wrap">

    <img src="image/aa.jpg"><br>

    <img src="image/bb.png"><br>

    <img src="image/c.jpg"><br>

    <img src="image/d.jpg"><br>

</div>

</body>

</html> 


2017-08-02 과제

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Title</title>

    <style>

        #wrap{

            padding: 4%;

            margin:auto;

            text-align: center;

        }

        body{

            background-color: gainsboro;

        }

        img{

            position: relative;

            width: 200px;

            height:400px;

            vertical-align: middle;

        }

        .story{

            border: 1px solid;

            padding: 2%;

        }

        div.m1,div.m2, div.m3, div.m4, div.m5{

            margin: auto;

            width: 80%;

            display: none;

            padding: 0 2% 2% 2%;

            border: 1px solid;

        }

        .aaa{

            width: 150px;

            height:150px;

        }

        .one{

            text-align: center;

        }

    </style>


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

    <script>

        var prevElm;

        var cn;

        $(function () {

            $('[src^="image/m"]').click(function () {

                $(prevElm).removeAttr('style');

                /*$(#wrap).append($(this));

                * $('img:eq(1)').after($(this));*/

                $('img:eq(2)').before($(this));

                if($('img:eq(0)')){

                    $('img:eq(3)').before($(this));

                }

                imgattr = {width:"250px", height:"500px"}

                $(this).animate(imgattr, 500, function () {

                    prevElm = this;

                    cn = prevElm.className;

                    $("div."+cn).show();

                })

                $("div."+cn).hide();

            })

        })

    </script>

</head>

<body>

<div id="mydiv">

<div id="wrap">

    <img class="m1" src="image/m1.jpg">

    <img class="m2" src="image/m2.jpg">

    <img class="m3" src="image/m3.jpg">

    <img class="m4" src="image/m4.jpg">

    <img class="m5" src="image/m5.jpg">

</div><br>



    <div class="m1">

        <h2>영화제목</h2>

        택시운전사

        <h2>영화이미지</h2>

        <div class="one">

            <img class="aaa" src="image/1_1.jpg">

            <img class="aaa" src="image/1_2.jpg">

            <img class="aaa" src="image/1_3.jpg">

            <img class="aaa" src="image/1_1.jpg">

            <img class="aaa" src="image/1_2.jpg">

            <img class="aaa" src="image/1_3.jpg">

            <img class="aaa" src="image/1_1.jpg">

            <img class="aaa" src="image/1_2.jpg">

            <img class="aaa" src="image/1_3.jpg">

        </div>

        <h2>영화줄거리</h2>

        <div class="story">

            1980년 5월, 서울 택시운전사.<br>

            “광주? 돈 워리, 돈 워리! 아이 베스트 드라이버”<br>

            택시운전사 만섭(송강호)은 외국손님을 태우고 광주에 갔다 통금 전에 돌아오면<br>

            밀린 월세를 갚을 수 있는 거금 10만원을 준다는 말에<br>

            독일기자 피터(토마스 크레취만)를 태우고 영문도 모른 채 길을 나선다.<br>

            광주 그리고 사람들. “모르겄어라, 우덜도 우덜한테 와 그라는지…”<br>

            어떻게든 택시비를 받아야 하는 만섭의 기지로 검문을 뚫고 겨우 들어선 광주.<br>

            위험하니 서울로 돌아가자는 만섭의 만류에도<br>

            피터는 대학생 재식(류준열)과 황기사(유해진)의 도움 속에 촬영을 시작한다.<br>

            그러나 상황은 점점 심각해지고 만섭은 집에 혼자 있을 딸 걱정에 점점 초조해지는데…<br>

        </div>

    </div>


    <div class="m2">

        <h2>영화제목</h2>

        군함도

        <h2>영화이미지</h2>

        <div class="one">

            <img class="aaa" src="image/2_1.jpg">

            <img class="aaa" src="image/2_2.jpg">

            <img class="aaa" src="image/2_3.jpg">

            <img class="aaa" src="image/2_1.jpg">

            <img class="aaa" src="image/2_2.jpg">

            <img class="aaa" src="image/2_3.jpg">

            <img class="aaa" src="image/2_1.jpg">

            <img class="aaa" src="image/2_2.jpg">

            <img class="aaa" src="image/2_3.jpg">

        </div>

        <h2>영화줄거리</h2>

        <div class="story">

            1945년 일제강점기.<br>

            경성 반도호텔 악단장 ‘강옥’(황정민)과 그의 하나뿐인 딸 ‘소희’(김수안).<br>

            그리고 종로 일대를 주름잡던 주먹 ‘칠성’(소지섭), 일제 치하에서 온갖 고초를 겪어온 ‘말년’(이정현) 등<br>

            각기 다른 사연을 품은 조선인들이 일본에서 돈을 벌 수 있다는 말에 속아 군함도로 향한다.<br>

            하지만 그들이 함께 탄 배가 도착한 곳은 조선인들을 강제 징용해 노동자로 착취하고 있던 ‘지옥섬’ 군함도였다.<br>

            영문도 모른 채 끌려온 조선인들이 해저 1,000 미터 깊이의 막장 속에서<br>

            매일 가스 폭발의 위험을 감수하며 노역해야 하는 군함도.<br>

            강옥은 어떻게 하든 일본인 관리의 비위를 맞춰 딸 소희만이라도 지키기 위해 온갖 수를 다하고,<br>

            칠성과 말년은 각자의 방식으로 고통스런 하루하루를 견뎌낸다.<br>

            한편 전쟁이 막바지로 치닫자 광복군 소속 OSS 요원 ‘무영’(송중기)은<br>

            독립운동의 주요인사 구출 작전을 지시 받고 군함도에 잠입한다.<br>

            일본 전역에 미국의 폭격이 시작되고 일본의 패색이 짙어지자<br>

            일본은 군함도에서 조선인에게 저지른 모든 만행을 은폐하기 위해 조선인들을 갱도에 가둔 채 폭파하려고 한다.<br>

            이를 눈치 챈 무영은, 강옥, 칠성, 말년을 비롯한 조선인 모두와 군함도를 빠져나가기로 결심하는데...!<br>

            지옥섬 군함도, 조선인들의 목숨을 건 탈출이 시작된다!<br>

        </div>

    </div>


    <div class="m3">

        <h2>영화제목</h2>

        슈퍼배드3

        <h2>영화이미지</h2>

        <div class="one">

            <img class="aaa" src="image/3_1.jpg">

            <img class="aaa" src="image/3_2.jpg">

            <img class="aaa" src="image/3_3.jpg">

            <img class="aaa" src="image/3_1.jpg">

            <img class="aaa" src="image/3_2.jpg">

            <img class="aaa" src="image/3_3.jpg">

            <img class="aaa" src="image/3_1.jpg">

            <img class="aaa" src="image/3_2.jpg">

            <img class="aaa" src="image/3_3.jpg">

        </div>

        <h2>영화줄거리</h2>

        <div class="story">

            전 세계를 점령할 놈들이 온다!<br>

            최고의 악당만을 보스로 섬기는 ‘미니언’<br>

            가족을 위해 악당 은퇴를 선언한 ‘그루’<br>

            그루의 배신에 실망한 미니언들은<br>

            스스로 악당이 되기 위해 그루를 떠난다.<br>

            한편, 같은 얼굴 다른 스펙의 쌍둥이 동생 ‘드루’의 등장으로 인해<br>

            그루는 자신이 역사상 가장 위대한 악당 가문의 후예임을 알게 되고,<br>

            거부할 수 없는 슈퍼배드의 운명을 따르게 되는데…<br>

            돌아온 그루와 미니언들은<br>

            다시 함께할 수 있을까?<br>

        </div>

    </div>


    <div class="m4">

        <h2>영화제목</h2>

        명탐정코난:진흥의 연가

        <h2>영화이미지</h2>

        <div class="one">

            <img class="aaa" src="image/4_1.jpg">

            <img class="aaa" src="image/4_2.jpg">

            <img class="aaa" src="image/4_3.jpg">

            <img class="aaa" src="image/4_1.jpg">

            <img class="aaa" src="image/4_2.jpg">

            <img class="aaa" src="image/4_3.jpg">

            <img class="aaa" src="image/4_1.jpg">

            <img class="aaa" src="image/4_2.jpg">

            <img class="aaa" src="image/4_3.jpg">

        </div>

        <h2>영화줄거리</h2>

        <div class="story">

            오사카와 교토에서 발생한 의문의 사건들!<br>

            헤이지와 카즈하, 그리고 모미지의 운명은 과연?!<br>

            갑작스러운 폭발로 대혼란에 빠지고 만 오사카의 한 TV 방송국.<br>

            마치 테러와도 같은 사건. 하지만 범인의 정체는 물론 범행 목적조차 파악되지 않는 상황이 계속되고,<br>

            혼란 속에서 코난과 친구들은 헤이지의 약혼자임을 주장하며 당돌하게 대시하는 카루타(일본의 전통 카드 게임)<br>

            대회 고교 챔피언 오오카 모미지를 만나 더욱 당황한다.<br>

            한편, 방송국 폭발과 동시에 교토에서는 카루타 대회 2년 연속 우승자가 살해당하는 사건이 발생하고,<br>

            현장의 TV에서는 다름 아닌 모미지의 경기 모습과 함께 한편의 시가 고요히 울려 퍼지고 있었는데......<br>

        </div>

    </div>


    <div class="m5">

        <h2>영화제목</h2>

        덩케르트

        <h2>영화이미지</h2>

        <div class="one">

            <img class="aaa" src="image/5_1.jpg">

            <img class="aaa" src="image/5_2.jpg">

            <img class="aaa" src="image/5_3.jpg">

            <img class="aaa" src="image/5_1.jpg">

            <img class="aaa" src="image/5_2.jpg">

            <img class="aaa" src="image/5_3.jpg">

            <img class="aaa" src="image/5_1.jpg">

            <img class="aaa" src="image/5_2.jpg">

            <img class="aaa" src="image/5_3.jpg">

        </div>

        <h2>영화줄거리</h2>

        <div class="story">

            "우린 끝까지 싸울 것이다"

            살아남는 것이 승리다!

            해변: 보이지 않는 적에게 포위된 채 어디서 총알이 날아올지 모르는 위기의 일주일<br>

            바다: 군인들의 탈출을 돕기 위해 배를 몰고 덩케르크로 항해하는 하루<br>

            하늘: 적의 전투기를 공격해 추락시키는 임무, 남은 연료로 비행이 가능한 한 시간<br>

            “우리는 해변에서 싸울 것이다. 우리는 상륙지에서 싸울 것이다. 우리는 들판에서 싸우고 시가에서도 싸울 것이다. 우리는 끝까지 싸울 것이다”<br>

        </div>


</div>

</div>

</body>

</html> 


'SK고용디딤돌' 카테고리의 다른 글

직무교육 18일차(jQuery Mobile)  (0) 2017.08.07
직무교육 17일차(jQuery)  (0) 2017.08.04
직무교육 15일차(jQuery)  (0) 2017.08.02
직무교육 14일차(HTML5 API)  (0) 2017.08.01
직무교육 13일차(HTML5 API)  (0) 2017.07.26

+ Recent posts