CHAPTER 12. JQUERY, AJAX, JSON.

Slides:



Advertisements
Similar presentations
난이도 : 초급 제1장 앱 인벤터 소개 및 준비.
Advertisements

CHAPTER 10. DOM과 이벤트 처리, 입력 검증.
CHAPTER 11. 자바스크립트와 캔버스로 게임만들기.
IoT(사물인터넷) 보안 2016년 2학기 4. 라즈베리파이 카메라.
jQuery Mobile을 이해하기 전에 jQuery가 무엇인지 알아야 한다.
Chapter09 CSS3 애니메이션 HTML5 Programming.
CHAPTER 16. 모바일 웹페이지.
Ajax 인공지능 연구실.
웹 2.0 및 Ajax 개요.
HTML과 CSS HTML과 CSS 세미나에 오신 것을 환영합니다.
10장 동적 HTML (Dynamic HTML)
1.1 뷰포트 일반 웹 페이지의 모바일 실행 결과 뷰포트(viewport)
피티라인 파워포인트 템플릿.
SSL - VPN 사용자 가이드 - IT 지원실 네트워크 운영팀 -.
CHAPTER 5. CSS 박스모델과 응용.
10 자바스크립트와 레이어로 만드는 DHTML 레이어와 DHTML로 동적인 문서 만들기!.
audio/video Chapter 3 Part 1
Chapter05 오디오와 비디오 HTML5 Programming.
AJAX 커머스아이 박준열.
CHAPTER 6. CSS 레이아웃과 애니메이션.
HTML5 웹 프로그래밍 입문 (개정판) 5장. 고급 표현을 위한 CSS3 활용.
간단한 이벤트 연결 jQuery 단축 이벤트 메서드 사용법
jQuery Chapter 12 이 서식 파일은 그룹 환경에서 교육 자료를 프레젠테이션할 때 시작 파일로 사용할 수 있습니다.
Youn-Hee Han HTML5 - GeoLocation Youn-Hee Han
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
제 2 장 WML 시뮬레이터 및 무선인터넷 서버 설치
Javascript Basic Sample Programs
iframe 사용하기 Chapter 3 Part 2
HTML5+CSS3 실무 테크닉 김은기 저.
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
홈페이지용 그림 활용법 그림 삽입 태그 <IMG> 배경 그림 다루기 그림과 문자열의 어울림
~ 초콜릿 공작소 ~ 프로젝트 완료 조은아.
ASP.NET AJAX 비동기 게시판 작성 2007 컴퓨터공학실험( I )
CHAPTER 13. HTML5 위치정보와 드래그앤 드롭.
제 01 장 인터넷 프로그래밍 개요 학기 인터넷비즈니스과 강 환수 교수.
스크래치 언어 이해 스크래치 이용법 습득 고양이가 말을 하며 움직이는 예제 작성
저수준의 시각적 효과 jQuery의 기본 효과.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
Method & library.
인터넷응용프로그래밍 JavaScript(Intro).
Chapter03 캔버스(1) HTML5 Programming.
Chapter10 드래그 앤 드롭 & 텍스트 편집 HTML5 Programming.
게임웹사이트운영 [9] div & span.
게임웹사이트운영 [10] 폼 작성.
CSS Layout Chapter 6 Part 1
13장. 테두리, 폼 양식 관련 스타일과 레이어 테두리 관련 스타일 폼 양식 관련 스타일 레이어.
HTML CSS 자바스크립트 무작정 따라하기
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
PHP 개요 및 설치 Yang-Sae Moon Department of Computer Science
HTML 5+ 자바스크립트 발표자 : 김동한 5주차.
명품 웹 프로그래밍.
ASP.NET AJAX / AJAX Control Toolkit 응용 2008 컴퓨터공학실험( I )
웹디자인
What is JSON? 유호성.
CHAP 21. 전화, SMS, 주소록.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Cold Spring Harbor Laboratory Press 저널 이용 매뉴얼
암호학 응용 Applied cryptography
Viewing Advanced Web Pages
암호학 응용 Applied cryptography
문서 작성에 사용되는 기본태그 HR, PRE, B, I, U, S.
웹과 모바일 홈페이지의 이해와 제작 폰트_레이아웃
웹과 모바일 홈페이지의 이해와 제작 CSS 깊이 알기
웹과 모바일 홈페이지의 이해와 제작 HTML태그와 CSS로 꾸미기
슬라이드 쇼의 설정 슬라이드 쇼의 실행 파일과 폴더의 관리 글꼴을 포함해서 저장 웹 페이지로 게시 압축 파일
CHAPTER 6 도전! 트위터 웹 앱 개발 Jquery Mobile 5/28/2019.
피티라인 파워포인트 템플릿.
JAVA 프로그래밍 16장 JNLP.
20 XMLHttpRequest.
Presentation transcript:

CHAPTER 12. JQUERY, AJAX, JSON

jQuery jQuery- 일종의 자바 스크립트 라이브러리 무료이다.

jQuery의 역사 jQuery는 존 레식(John Resig)이 2006년에 BarCamp NYC에서 발표 MIT 라이센스하에 배포되는 자유 오픈 소프트웨어

jQuery 사용방법 jQuery.com에서 jQuery 파일을 다운로드하는 방법 공개 서버로부터 네트워크를 통하여 웹페이지를 실행할 때마다 다운로드받을 수도 있다 최근에 1.9.1버전은 사용불가->1.10.1버전으로 변경(책의 소스 수정되어야 함!) <head> <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> </head>

첫 번째 jQuery 프로그램 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> </script> <script> $(document).ready(function () { $("h2").click(function () { $(this).hide(); }); </head> <body> <h2>클릭하면 사라집니다.</h2> </body> </html> 웹브라우저로 보기

jQuery 문장의 구조 $(...) 안에 선택자를 넣어서 원하는 요소를 선택하고, 선택된 요소에 대하여 여러 가지 조작을 한다. $(“p”).show() - 모든 <p> 요소들을 찾아서 화면에 표시한다. $(“.group1”).slideup() - class=group1인 요소를 슬라이드업 방식으로 표시한다. $(“#id9”).hide() - id=id9인 요소를 화면에서 감춘다.

선택자

일반적인 구조

jQuery를 이용한 이벤트 처리

마우스 이벤트 <!DOCTYPE html> <html> <head> <style> div.out { width: 200px; height: 60px; background-color: yellow; } </style> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> </head> <body> <div class="out"> <p>마우스를 여기로 움직이세요.</p> <p>0</p> </div>

마우스 이벤트 <script> var i = 0; $("div.out").mouseover(function () { $("p:first", this).text("mouse over"); $("p:last", this).text(++i); }) </script> </body> </html> 웹브라우저로 보기

focus와 blur 이벤트 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> <script> $(document).ready(function () { $("input").focus(function () { $(this).css("background-color", "yellow"); }); $("input").blur(function () { $(this).css("background-color", "white"); </script> </head> <body> 아이디:<input type="text" name="name"><br> </body> </html>

focus와 blur 이벤트 웹브라우저로 보기

이벤트 정보 <!DOCTYPE html> <html> <head> <style> body { background-color: #eef; } div { padding: 20px; } </style> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> </head> <body> <div id="log"></div> <script> $(document).mousemove( function (e) { $("#log").text("e.pageX: " + e.pageX + ", e.pageY: " + e.pageY); }); </script> </body> </html>

jQuery를 이용한 애니메이션 show()와 hide()

show()와 hide() <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> </head> <body> <button>Show it</button> <img id="dog" src="dog.png" alt="" width="120" height="100" style="display: none" /> <script> $(document).ready(function () { $("button").click(function () { $("#dog").show("slow"); }); </script> </body> </html>

animate() <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#dog").animate({ left: '100px' }); }); </script> </head> <body> <img id="dog" src="dog.png" alt="" width="120" height="100" style="position: relative" /><br /> <button>animate()</button> </body> </html>

fadeIn()/ fadeOut() <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#dog").animate({ left: '100px' }); }); </script> </head> <body> <img id="dog" src="dog.png" alt="" width="120" height="100" style="position: relative" /><br /> <button>animate()</button> </body> </html>

메소드 체인닝 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#dog").show().fadeOut("slow").slideDown("slow"); }); </script> </head> <body> <button>메소드 체이닝 시작</button> <img id="dog" src="dog.png" alt="" width="120" height="100" style="display: none" /> </body> </html> 웹브라우저로 보기

jQuery를 이용한 DOM 변경

jQuery를 이용한 DOM 변경

요소의 컨텐츠 가져오기 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> <script> $(document).ready(function () { $("#text").click(function () { alert($("#target").text()); }); $("#html").click(function () { alert($("#target").html()); </script> </head> <body> <p id="target">이것은 <strong>하나의</strong> 단락입니다.</p> <button id="text">text()</button> <button id="html">html()</button> </body> </html> 웹브라우저로 보기

입력 필드의 값 읽어오기 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> <script> $(document).ready(function () { $("button").click(function () { alert($("#target").val()); }); </script> </head> <body> 이름: <input type="text" id="target" value =""><br /> <button id="text">val()</button> </body> </html>

요소의 속성 가져오기 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> <script> $(document).ready(function () { $("button").click(function () { alert($("#dog").attr("src")); }); </script> </head> <body> <img id="dog" src="dog.png" alt="" width="120" height="100" /><br /> <button>attr()</button> </body> </html>

DOM에 요소 추가하기 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> <script> $(document).ready(function () { $("#button1").click(function () { $("p").append("<b style='color:red'>Hello! </b>."); }); $("#button2").click(function () { $("p").prepend("<b style='color:red'>Hello! </b>."); </script> </head> <body> <p>I would like to say: </p> <button id="button1">append()</button> <button id="button2">prepend()</button> </body> </html>

DOM의 요소 삭제하기 <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> <style> p{ background-color:yellow; } .container { height: 80px; width: 200px; border: 1px dotted red; } </style> <script> $(document).ready(function () { $("#button1").click(function () { $(".container").remove(); }); $("#button2").click(function () { $(".container").empty(); </script> </head>

DOM의 요소 삭제하기 <body> <button id="button1">remove()</button> <button id="button2">empty()</button><br /> <div class="container"> <p class="hello">Hello</p> <p class="goodbye">Goodbye</p> </div> <br> </body> </html>

jQuery를 이용한 CSS 조작 css() - 선택된 요소의 스타일 속성을 설정하거나 반환한다. addClass() - 선택된 요소에 하나 이상의 클래스를 추가한다. removeClass() - 선택된 요소에 하나 이상의 클래스를 삭제한다.

jQuery를 이용한 CSS 조작 <!DOCTYPE html> <html> <head> <style> div { width: 60px; height: 60px; } </style> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> </head> <body> <div id="div1" style="background-color: blue;"></div> <script> $(document).ready(function () { $("#button1").click(function () { var color = $("#div1").css("background-color"); $("#result").text("background-color: " + color); }); $("#button2").click(function () { $("#div1").css("background-color", "red"); </script> <button id="button1">css(element)</button> <button id="button2">css(element,style)</button> <p id="result">여기에 결과가 표시됩니다.</p> </body> </html>

실행 결과

요소의 크기 조작 <!DOCTYPE html> <html> <head> <style> div { width: 70px; height: 50px; float: left; margin: 5px; background: red; } .next { background: blue; } </style> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> </head>

요소의 크기 조작 <body> <div>1</div> <script> $(document).ready(function () { var modWidth = 50; $("div").click(function () { $(this).width(modWidth).addClass("next"); modWidth -= 8; }); </script> </body> </html>

AJAX 개요 AJAX(Asynchronous JavaScript and XML)는 서버와 데이터를 교환하는 기술의 하나

AJAX의 동작 원리

AJAX는 웹서버가 필요함 AJAX는 필수적으로 웹서버가 필요 예제 파일은 모두 VS Express for Web을 이용하여서 오픈한 후에 [파일]->[브라우저에서 보기]를 선택하여 실행한다. VS Express for Web은 자체적으로 웹서버를 운용한다. testfile1.txt 파일도 같은 디렉토리에 있어야 한다.

AJAX 예제 testfile.txt ajax.html Ajax는 Asynchronous JavaScript and XML의 약자입니다. Ajax는 동적인 대화형 웹페이지를 만듭니다. ajax.html <!DOCTYPE html> <html> <head> <script> function getFromServer() { var req; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari req = new XMLHttpRequest(); } else {// code for IE6, IE5 req = new ActiveXObject("Microsoft.XMLHTTP"); req.onreadystatechange = function () { if (req.readyState == 4 && req.status == 200) { document.getElementById("target").innerHTML = req.responseText; req.open("GET", "testfile.txt", true); req.send(); </script>

AJAX 예제 반드시 VS for Web을 사용한다! </head> <body> <div id="target" style="width: 300px; height: 60px; border: solid; 1px black;"> </div> <button type="button" onclick="getFromServer()">GET DATA</button> </body> </html> 반드시 VS for Web을 사용한다!

jQuery를 이용한 AJAX jQuery를 사용하면 좀 더 쉽게 Ajax를 사용할 수 있다.

AJAX 예제 testfile.txt ajax.html Ajax는 Asynchronous JavaScript and XML의 약자입니다. Ajax는 동적인 대화형 웹페이지를 만듭니다. ajax.html <!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-1.10.1.js"></script> <script> $(document).ready(function () { $("button").click(function () { $("#target").load("testfile.txt"); }); </script> </head> <body> <div id="target" style="width: 300px; height: 60px; border: solid 1px black"> </div> <button>Get Data</button> </body> </html>

JSON JSON (JavaScript Object Notation)은 텍스트-기반의 데이터 교환 형식 JSON 형식은 Douglas Crockford에 의하여 처음으로 지정되었으며, RFC 4627에 기술 공식적인 인터넷 미디어 타입은 application/json이며 파일 이름 확장자는 .json

JSON으로 표현된 객체 { "name": "HongGilDong", "age": 25, "address": { "nation": "Korea", "city": "Seoul", "postalCode": "123-456" }, "특기": ["검술", "무술"], "phone": "010-123-4567" }

JSON의 사용

AJAX 예제 <!DOCTYPE html> <html> <body> <h4>학생 명단</h4> <p style="background-color: yellow"> 이름: <span id="name"></span>&nbsp 나이: <span id="age"></span> </p> <script> var s = '[' + '{"name":"Hong","age":"21" },' + '{"name":"Kim","age":"22" },' + '{"name":"Park","age":"23" }]'; var students = eval("(" + s + ")"); students[1].name = "Lee"; document.getElementById("name").innerHTML = students[1].name; document.getElementById("age").innerHTML = students[1].age; </script> </body> </html>

Q & A