CHAPTER 13. HTML5 위치정보와 드래그앤 드롭.

Slides:



Advertisements
Similar presentations
1 개요.
Advertisements

XHTML Basic 제 13 장 1. XHTML Basic의 개요 2. XHTML Basic 기본 문법 3. 표 만들기
CHAPTER 10. DOM과 이벤트 처리, 입력 검증.
공개SW 기반 멀티미디어 학습 유 승 욱.
CHAPTER 11. 자바스크립트와 캔버스로 게임만들기.
Chapter04 캔버스(2) HTML5 Programming.
CHAPTER 15. JSP.
Canvas 2D Basics.
IoT(사물인터넷) 보안 2016년 2학기 4. 라즈베리파이 카메라.
HTML5 웹 프로그래밍 입문 (개정판) 3장. 링크와 멀티미디어.
웹 페이지.
jQuery Mobile을 이해하기 전에 jQuery가 무엇인지 알아야 한다.
CHAPTER 1. 기초 사항.
CHAP 19. 구글맵.
Chapter09 CSS3 애니메이션 HTML5 Programming.
CHAPTER 16. 모바일 웹페이지.
명품 웹 프로그래밍.
Chapter14 위치 정보 & 모바일 HTML5 Programming.
CSS List & Table Chapter 5 Part 2
예제모음.
HTML GRAPHICS 이 서식 파일은 그룹 환경에서 교육 자료를 프레젠테이션할 때 시작 파일로 사용할 수 있습니다. 구역
Web Service Computing and Practice_
CHAPTER 12. JQUERY, AJAX, JSON.
HTML and CSS for Designer
HTML5 입문 인공지능 연구실.
명품 웹 프로그래밍.
명품 웹 프로그래밍.
Chapter05 오디오와 비디오 HTML5 Programming.
HTML5 웹 프로그래밍 입문 (개정판) 5장. 고급 표현을 위한 CSS3 활용.
Youn-Hee Han HTML5 - GeoLocation Youn-Hee Han
HTML5 웹 프로그래밍 입문 (개정판) 12장. 인터페이스 관련 API.
Visual Basic .NET 처음 사용하기.
CHAPTER 8. 자바 스크립트 기초.
AngularJS Tutorial 중부대학교 이병천 교수
학습목표 학습목차 다른 홈페이지의 HTML 파일 코드를 보는 방법에 대해 알아봅니다.
명품 웹 프로그래밍.
컴퓨터 프로그래밍 : 실습3 2장 데이터와 식.
스크래치 언어 이해 스크래치 이용법 습득 고양이가 말을 하며 움직이는 예제 작성
CHAP 12. 리소스와 보안.
저수준의 시각적 효과 jQuery의 기본 효과.
CHAPTER 14. HTML5 웹스토리지, 파일API, 웹소켓.
자바응용.
인터넷응용프로그래밍 JavaScript(Intro).
1 개요.
Chapter03 캔버스(1) HTML5 Programming.
Chapter10 드래그 앤 드롭 & 텍스트 편집 HTML5 Programming.
반응형 웹 프로젝트
자바와 아두이노를 넘어서 프로세싱으로... 자바실험실(JavaLab.org) 이동준
HTML CSS 자바스크립트 무작정 따라하기
HTML 5+ 자바스크립트 발표자 : 김동한 5주차.
명품 웹 프로그래밍.
프로그래밍 원리 Chapter 05 자바스크립트 기초 신한대학교 IT융합공학부 박 호 균.
인터넷응용프로그래밍 JavaScript(Intro).
웹디자인
17장 웹 사이트 제작 완성 한빛미디어(주).
JavaScript 객체(objects)
Chapter03 HTML 포토앨범 만들기
암호학 응용 Applied cryptography
암호학 응용 Applied cryptography
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
Chapter 5: PHP Functions and Objects
문서 작성에 사용되는 기본태그 HR, PRE, B, I, U, S.
웹과 모바일 홈페이지의 이해와 제작 HTML태그와 CSS로 꾸미기
9 브라우저 객체 모델.
HTML HTML 기본 구조와 태그 다양한 태그 다루기
정보 애니메이션의 제작 YoungjinMedia.
About Html5 모바일인터넷과 이수진.
7 생성자 함수.
6 객체.
20 XMLHttpRequest.
Presentation transcript:

CHAPTER 13. HTML5 위치정보와 드래그앤 드롭

SVG SVG(Scalable Vector Graphics)는 XML-기반의 벡터 이미지 포맷 웹에서 벡터-기반의 그래픽을 정의하는데 사용 1999년부터 W3C에 의하여 표준

SVG의 장점 SVG 그래픽은 확대되거나 크기가 변경되어도 품질이 손상되지 않는다.

원 예제 <!DOCTYPE html> <html> <body> <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <circle cx="100" cy="100" r="50" stroke="black" stroke-width="3" fill="red" /> </svg> </body> </html>

사각형 예제 <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect width="300" height="100" style="fill: rgb(255,0, 0); stroke-width: 3; stroke: rgb(128, 128, 128)" /> </svg>

다각형 예제 <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <polygon points="100,20 250,160 60,210" style="fill: red; stroke: black; stroke-width: 3" /> </svg>

폴리라인 예제 <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <polyline points="10,10 150,20 180,70 230,80" style="fill: none; stroke: red; stroke-width: 3" /> </svg>

애니메이션 #1 <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <rect width="100" height="100" fill="red"> <animate attributeName="height" from="0" to="100" dur="10s" /> </rect> </svg> 구글 크롬을 사용한다!

애니메이션 #2 <svg xmlns="http://www.w3.org/2000/svg" version="1.1"> <circle r="100" cx="200" cy="110" fill="slategrey" stroke="#000" stroke-width="7"> <animate attributeName="r" from="0" to="100" dur="3s" /> <animate attributeName="cx" from="100" to="200" dur="3s" /> </circle> </svg> 구글 크롬을 사용한다!

드래그와 드롭 드래그(drag)와 드롭(drop) - 윈도우에서 아주 많이 사용하는 사용자 인터페이스 중의 하나 객체를 마우스로 끌어서 다른 애플리케이션에 놓는 것

발생하는 이벤트

예제 <!DOCTYPE HTML> <html> <head> <style> #shopping_cart { width: 450px; height: 100px; padding: 10px; border: 1px dotted red; } </style> <script> function allowDrop(e) { e.preventDefault(); function handleDragStart(e) { e.dataTransfer.effectAllowed = 'move'; e.dataTransfer.setData("Text", e.target.id);

예제 function handleDrop(e) { e.preventDefault(); var src = e.dataTransfer.getData("Text"); e.target.appendChild(document.getElementById(src)); } </script> </head> <body> <p>원하는 물건을 끌어서 옮기세요.</p> <div id="shopping_cart" ondrop="handleDrop(event)" ondragover="allowDrop(event)"></div> <br> <img id="img1" src="tv.png" draggable="true" ondragstart="handleDragStart(event)" width="150" height="100"> <img id="img2" src="audio.png" draggable="true" <img id="Img3" src="camera.png" draggable="true" </body> </html>

실행 결과 웹브라우저로 실행하기

HTML5 위치정보 위치정보(Geolocation)은 자신의 위치를 웹 사이트와 공유 현재 지역의 날씨, 유명한 맛집 등의 정보를 제공받을 수 있다.

geolocation 객체 var geolocation = navigator.geolocation;

예제 <!DOCTYPE html> <html> <body> <button onclick="getGeolocation()">위치 정보 얻기</button> <div id="target"></div> <script> var myDiv = document.getElementById("target"); function getGeolocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showLocation); } function showLocation(location) { myDiv.innerHTML = "(위도: " + location.coords.latitude + ", 경도: " + location.coords.longitude + ")" </script> </body> </html>

지도에 위치 표시하기 <!DOCTYPE html> <html> <body> <button onclick="getGeolocation()">지도 보이기</button> <script> var myDiv = document.getElementById("target"); function getGeolocation() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(showGeolocation); } function showGeolocation(position) { var pos = position.coords.latitude + "," + position.coords.longitude; var url = "http://maps.googleapis.com/maps/api/staticmap?center=" + pos + "&zoom=14&size=500x300&sensor=false"; window.open(url); </script> </body> </html>

실행결과 웹브라우저로 실행하기

이동하면서 위치 정보를 얻기 geolocation 객체의 watchPosition()을 호출 clearWatch() - watchPosition() 메서드를 중지한다.

이동하면서 위치 정보를 얻기 <!DOCTYPE html> <html> <body> <button onclick="startGeolocation()">위치 정보 시작</button> <button onclick="stopGeolocation()">위치 정보 중지</button> <div id="target"></div> <script> var id; var myDiv = document.getElementById("target"); function startGeolocation() { if (navigator.geolocation) { id = navigator.geolocation.watchPosition(showGeolocation); } function showGeolocation(location) { myDiv.innerHTML = "(위도: " + location.coords.latitude + ", 경도: " + location.coords.longitude + ")"; function stopGeolocation() { navigator.geolocation.clearWatch(id); </script> </body> </html>

실행결과

HTML5 웹 워커 웹 워커(web worker): 자바스크립트에 백그라운드에서 실행되는 스레드(thread)를 도입한 것

소수 구하기 worker.js // 소수를 찾는 자바스크립트 소스 var n = 1; search: while (true) { for (var i = 2; i <= Math.sqrt(n) ; i += 1) if (n % i == 0) continue search; // 소수를 발견할 때마다 바로 웹페이지로 전달한다. postMessage(n); }

소수 구하기 <!DOCTYPE HTML> <html> <head> <title>웹워커 예제</title> </head> <body> <button onclick="startWorker()">웹워커 시작</button> <button onclick="stopWorker()">웹워커 종료</button> <p>현재까지 발견된 가장 큰 소수는 <output id="result"></output> </p> <script> var w;

소수 구하기 function startWorker() { if (typeof (Worker) !== "undefined") { if (typeof (w) == "undefined") { w = new Worker("worker.js"); } w.onmessage = function (event) { document.getElementById("result").innerHTML = event.data; }; else { document.getElementById("result").innerHTML = "웹브라우저가 웹워커를 지원하지 않음"; function stopWorker() { w.terminate(); </script> </body> </html>

Q & A