Microsoft PowerPoint - web-part01-ch10-문서객체모델.pptx

Similar documents
Microsoft PowerPoint - web-part02-ch15-문서객체조작.pptx

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

PowerPoint 프레젠테이션

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

PowerPoint 프레젠테이션

Microsoft PowerPoint - web-part02-ch16-이벤트.pptx

Microsoft PowerPoint - web-part01-ch09-브라우저객체모델.pptx

PowerPoint Template

Microsoft PowerPoint - web-part02-ch13-기본.pptx

Javascript

Microsoft PowerPoint - aj-lecture1-HTML-CSS-JS.ppt [호환 모드]

Microsoft PowerPoint - web-part01-ch05-함수.pptx

- 이벤트의처리 <input type= button id= button1 value= 확인 /> <input type= button id= button2 value= 확인 /> 자바스크립트인경우 : document.getelementbyid( button1 ).oncl

PowerPoint 프레젠테이션

Overall Process

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

쉽게 풀어쓴 C 프로그래밍

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint 웹 연동 기술.pptx

PowerPoint 프레젠테이션

쉽게 풀어쓴 C 프로그래밍

Microsoft PowerPoint 세션.ppt

PowerPoint 프레젠테이션

e-비즈니스 전략 수립

AMP는 어떻게 빠른 성능을 내나.key

Prototype에서 jQuery로 옮겨타기

PowerPoint Presentation

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

chap 5: Trees

Week8-Extra

PowerPoint Presentation

INDEX 들어가기 고민하기 HTML(TABLE/FORM) CSS JS

PowerPoint Presentation

Ÿ column-rule 속성은단사이의구분선을표현하기위한속성으로 column-rule-color, column-rule-style, column-rule-width 속성을한번에지정할수있다. 1.4 단의확장 Ÿ column-span 속성은다단을구성할때해당요소가얼마나많은단

Ext JS À¥¾ÖÇø®ÄÉÀ̼ǰ³¹ß-³¹Àå.PDF

쉽게 풀어쓴 C 프로그래밍

HTML5

Microsoft PowerPoint - C++ 5 .pptx

PowerPoint 프레젠테이션

Javascript.pages

미쓰리 파워포인트

Building Mobile AR Web Applications in HTML5 - Google IO 2012

C스토어 사용자 매뉴얼

PowerPoint 프레젠테이션

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

쉽게 풀어쓴 C 프로그래밍

PowerPoint Presentation

슬라이드 1

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

17장 클래스와 메소드

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

혼자서일을다하는 JSP. 이젠일을 Servlet 과나눠서한다. JSP와서블릿의표현적인차이 - JSP는 <html> 내에서자바를사용할수있는수단을제공한다. - 서블릿은자바내에서 <html> 을작성할수있는수단을제공한다. - JSP나서블릿으로만웹페이지를작성하면자바와다양한코드가

Javascript

슬라이드 1

HTML5 웹프로그래밍 입문-개정판

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

PowerPoint Presentation

Lab1

C++ Programming

Microsoft PowerPoint 자바스크립트(1).pptx

2009년 상반기 사업계획

C++ Programming

웹의 뼈대 HTML의 이해 개요 및 텍스트 태그

ÀüÀÚÇö¹Ì°æ-Áß±Þ

PowerPoint 프레젠테이션

PowerPoint Presentation

gnu-lee-oop-kor-lec06-3-chap7

Data Provisioning Services for mobile clients

<C3CA3520B0FAC7D0B1B3BBE7BFEB202E687770>

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");


PowerPoint Presentation

PowerPoint 프레젠테이션

Microsoft PowerPoint - chap06-1Array.ppt

PART

Part Part

£01¦4Àå-2

½ºÅ丮ÅÚ¸µ3_³»Áö

272*406OSAKAÃÖÁ¾-¼öÁ¤b64ٽÚ

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

2파트-07

제11장 프로세스와 쓰레드

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

쉽게 풀어쓴 C 프로그래밍

HTML5 웹프로그래밍 입문-개정판

PowerPoint 프레젠테이션

PHP & ASP

ThisJava ..

HTML5

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

금오공대 컴퓨터공학전공 강의자료

C++ Programming

02 장. 글꼴문단지정하기 이번장에서는스타일시트속성중에서글꼴과관련한속성과문단에관련된속성을살펴보도록하자.

Transcription:

과목명 : 웹프로그래밍응용교재 : 모던웹을위한 JavaScript Jquery 입문, 한빛미디어 Part1. JavaScript / Ch10. 문서객체모델 2014년 1학기 Professor Seung-Hoon Choi

10 문서객체모델 문서객체모델 (Document Object Model, DOM) 웹브라우저가 HTML 페이지를인식하는방식 document 객체와관련된객체들의집합 이를이용하면 HTML페이지에동적으로태그를추가, 수정, 삭제할수있음

10.1 문서객체모델과관련된용어정리 용어정리 태그 코드 10-1 문서객체 <html> 이나 <body> HTML 태그를자바스크립트에서사용할수있도록객체로만든것 코드 10-1, 10-2 var header = document.getelementbyid( header ) header 라는 id를갖는객체 ( 태그 ) 를자바스크립트로가져옴 변수 header가가리키는것이문서객체임

10.1 문서객체모델과관련된용어정리 용어정리 문서객체모델 HTML 페이지는노드들로구성된트리형태 그림 10-1: 코드 10-1의문서객체모델 그림 10-2: 코드 10-3의문서객체모델 Element Node( 요소노드 ) 문서객체모델에서, HTML 태그에해당하는노드 Text Node( 텍스트노드 ) Element node 안에있는스트링

10.2 문서객체만들기 (1) 문서객체의종류 텍스트노드를갖는문서객체 텍스트노드를갖지않는문서객체 노드생성방법 document.createelement(tagname) 요소노드를생성하는방법 document.createtextnode(text) 텍스트노드를생성하는방법

10.2 문서객체만들기 (1) 코드 10-5 <h1> 에해당하는요소노드생성 document.createelement( h1 ) Hello DOM 에해당하는텍스트노드생성 document.createtextnode( Hello DOM )

10.2 문서객체만들기 (1) 문서객체연결메소드 appendchild(node) 코드 10-6 Hello DOM 텍스트노드를 <h1> 요소노드에자식으로붙인후, header.appendchild(textnode) <h1> 요소노드를 <body> 문서객체의자식으로붙임 document.body.appendchild(header)

10.3 문서객체만들기 (2) 텍스트노드를갖지않는노드생성 코드 10-7 <img> 요소노드생성 var img = document.createelement( img ) 코드 10-8 <img> 태그에속성값지정 img.src = Penguins.jpg ; 크롬브라우저에서 요소검사 기능으로확인가능함 이러한방식은, 웹브라우저에서지원하는속성에만사용가능함 그렇지않은경우에는표10-3( 다음페이지 ) 의메소드를사용해야함

10.3 문서객체만들기 (2) 표10-3 setattribute(name, value): 객체의속성값을지정함 getattribute(name): 객체의속성값을가져옴 코드 10-9 img.setattribute( data-property, 350); 참고사항 data-* 형식의속성은, custom data attribute( 사용자정의속성 ) 을추가할때사용함 (HTML5 에서새롭게추가됨 ) 예 : <li data-animal-type="bird">owl</li> <li data-animal-type="fish">salmon</li> <li data-animal-type="spider">tarantula</li>

10.4 문서객체만들기 (3) innerhtml 속성 현재문서객체의태그내부를의미하는속성 예 : <h1>hello DOM..!</h1> <h1> 태그의 innerhtml 속성값 코드 10-11 document.body의 innerhtml에 HTML 태그들로구성된문자열을지정하면웹문서가만들어짐 document.body.innerhtml = <ul> </ul> document.body.innerhtml += <h1>dom</h1>

10.4 문서객체만들기 (3) innerhtml 속성의값변경가능여부 인터넷익스플로러를제외한브라우저는, 모든문서객체의 innerhtml 속성의값을변경할수있다. 인터넷익스플로러의경우, 다음태그의 innerhtml 속성의값을변경할수없다. col, colgroup, frameset, head, html, style, table, tbody, tfoot, thead, title, tr 태그

10.4 문서객체만들기 (3) <h1>dom</h1> 라는문자열이화면에그대로나오게하려면, 1) innerhtml 속성에 <h1>dom</h1> 를지정하면됨 (character entity 사용 ) 2) textcontent 속성을이용하면더쉽다. 코드 10-12 document.body.textcontent = <h1>dom</h1> ;

10.5 문서객체가져오기 (1) HTML 태그에해당하는문서객체가져오기 document 객체의 getelementbyid(id) 메소드이용 태그의 id 속성값이매개변수 id 와일치하는문서객체를가져옴 코드 10-14, 10-15

10.6 문서객체가져오기 (2) 한번에여러개의문서객체를가져오는메소드 표 10-5 document.getelementsbyname(name) 태그의 name 속성이매개변수 name과일치하는문서객체들을배열로가져올때사용함 document.getelementsbytagname(name) 태그의이름과매개변수 name 이일치하는문서객체들을배열로가져올때사용함 코드 10-16, 10-17 var headers = document.getelementsbytagname( h1 ); headers[i] 로문서객체를접근함 코드 10-18 for-in 반복문을사용하지말고 ( 코드 10-19 참조 ), 일반 for 문으로문서객체들을방문할것

10.7 문서객체가져오기 (3) 표 10-6(HTML5 에서추가됨 ) document.queryselector(css선택자 ) CSS선택자로가장처음선택되는문서객체를가져옴 document.queryselectorall(css선택자 ) 선택자로선택되는모든문서객체들의배열을가져옴 코드 10-20 예 : document.queryselector( #header-1 ) CSS 선택자 : #header-1 id 속성의값이 header-1 인첫번째태그를선택하라 CSS 선택자의자세한내용은 2 부에서배울예정임

10.8 문서객체의스타일조작 문서객체의 style 속성 style 속성을이용하면, 해당문서객체의스타일을변경할수있음 코드 10-22 var header = document.getelementbyid('header'); header.style.border = '2px solid black'; header.style.color = 'orange'; header.style.fontfamily = 'helvetica';

10.8 문서객체의스타일조작 Note: 스타일속성이름 CSS 에서의스타일속성이름을자바스크립트에서그대로사용가능함 단, CSS 에서의스타일속성이름에하이픈 ( - ) 이포함된경우 하이픈 ( - ) 을제거하고, 하이픈 ( - ) 다음의단어첫글자를대문자로바꾸어서자바스크립트에서사용한다. 이유 : 자바스크립트에서는특수기호인하이픈 ( - ) 을식별자로사용하지못하기때문 예 : CSS에서스타일속성이름이 background-color 인경우 자바스크립트에서는 backgroundcolor라는이름으로사용해야함 header.style.backgroundcolor = red ; ( 맞음 ) header.style.background-color = red ; ( 틀림, 오류발생함 )

10.9 문서객체제거 표10-8 문서객체의 removechild(child) 이용 문서객체의자식노드인 child를제거함 코드 10-24 var willremove = document.getelementbyid( will-remove); document.body.removechild(willremove); == willremove.parentnode.removechild(willremove);

10.10 문서객체를사용한시계 예제 : 문서객체로현재시간을표시하는시계 코드 10-25 clock 이라는 id 를갖는 <h1> 태그추가 코드 10-26, 10-27 setinterval( ) 함수를이용해서, 1초에한번씩 clock 문서객체의 innerhtml 속성을현재시간으로변경함

10.11 문서객체를사용한움직임구현 예제 : 궤도를따라이동하는지구와달구현 코드 10-28 지구, 태양, 달을나타내는 <h1> 태그입력 코드 10-29 지구, 태양, 달을나타내는 <h1> 태그에대한문서객체얻어옴 코드 10-30 지구, 태양, 달문서객체의 position 스타일속성을 absolute 로지정함 ( 부모를기준으로왼쪽에서몇픽셀, 위에서몇픽셀을지정해서문서객체가위치할좌표를결정함 ) 태양의좌표를지정함

10.11 문서객체를사용한움직임구현 예제 : 궤도를따라이동하는지구와달구현 ( 계속 ) 코드 10-31 setinterval(function(){ // 지구, 달의움직임구현 }, 1000/3); 1 초에 30 번움직임을구현하는함수를호출함

10.11 문서객체를사용한움직임구현 예제 : 궤도를따라이동하는지구와달구현 ( 계속 ) 코드 10-32( 지구와달의움직임구현 ) 태양, 지구, 달의좌표계산 태양의좌표 : (250, 200) 로고정 earthangle이 θ 이면 지구의 left 좌표는 250에 150*cos(θ) 를더함 지구의 top 좌표는 250에 150*sin(θ) 를더함 달도마찬가지로좌표를계산함 계산된좌표를지구와달의 left, top 속정에지정 earchangle은 0.1, moonangle은 0.3 증가시킴 S 150 θ (250, 200) E

10.12 문서객체와객체지향을사용한움직임구현 예제 : 각자해볼것 ( 코드 10-40) MovingText( ) 생성자함수정의 move( ) 를이용해서움직임구현 left 스타일속성과 top 스타일속성을이용하여위치를조정함 MovingText 객체 100개를담는배열생성 setinterval 함수를이용하여 MovingText 객체 100개의 move( ) 메소드를호출하는함수를주기적으로실행함