Ppk on javascript_chapter_2

27
2 JavaScript 䗮ᐌ㔥义䖭Ͼ㚠᱃ЁՓ⫼DŽ䖭ᰃᰒ㗠ᯧ㾕ⱘˈԚℸ㗠ᓩ䍋ⱘϔѯᵰˈ ᑊ䴲ᘏ㛑㹿Ҏ⏙Ἦ䅸䆚DŽJavaScript ጠϔϾ䖬ৠᯊՓ⫼ⴔ HTML CSS ⱘ⦃๗Ёˈ䖭 Ͼ⦃๗ϟˈ⫼ᗻ䆓䯂ᗻᰃᴀ㽕㋴DŽ↩コˈϔϾ㛮ᴀᖙ乏Ў㔥キѯ⫼ⱘϰ㽓ˈ㗠Ϩ JavaScript 㹿⽕⫼ᅠ༅ᬜⱘᚙމϟˈ㔥キᖙ乏㛑㒻㓁ᎹDŽ ᴀゴЗ㟇៥ᭈϾ䆆䗄 JavaScript 㓪ⱘᮍ⊩ˈ䛑ফ䙉ᕾޚCSS ব䴽ⱘ⏅ᕅડˈ䖭ϔ ব䴽Ꮖ㒣ᬍবњ Web ᓔথⱘ䴶䉠DŽℸˈ៥Ӏ佪ܜಲ乒ϔϟ CSS ব䴽ঞᇍ JavaScript ⱘᕅડDŽ A CSS ব䴽 ℷབ៥Ӏ 1C Ё᠔ⳟⱘˈ 1998 ᑈ˄ᔧᯊ Netscape Explorer 4 㛑䖒៤ӏԩ䆚˅ˈϔ㕸 ⛁ᖗⱘ Web ᓔথ㗙㘨ড়䍋ᴹ៤ゟњ WaSP 㒘㒛ˈ㾷އ䙷ѯϧ JavaScript ܗ㋴П䯈ⱘⳒˈৠᯊ г㟈ѢᑓՓ⫼ CSS ᴹᅮН㔥キⱘ㸼⦄DŽᅫᮼህᰃ䙉ᕾˈޚҪӀৠᯊ⌣㾜ᓔথଚ Web ᓔথҎਬᅷᡀ䖭ϔᅫᮼDŽ 䍋ˈWaSPᅗⱘᣕ㗙Ӏϧ⊼ѢᑓCSSDŽᕜ⧚⬅এ䖭Мˈخ䞡㽕ⱘϔ⚍ህᰃ⫼ CSSᓎ䆒㔥キҹ䖛এ⬠⏙ߦ䰤DŽ㗠JavaScript䖬≵䖯ᴹˈϔᰃЎᇍѢWebᓔথ乚ඳ䙷 ѯ乊ᇪⱘҎᠡᴹ䇈ˈᑈᴹCSSᏆ㒣䅽ҪӀ䌍㛥ㄟⱘњ˗Ѡᰃ1998ᑈˈᔧᯊⱘJavaScript ϔ㠀ᴹ䇈㓪ݭᵘᗱ䛑ᕜ㊳㊩ˈ㗠Ϩᅠϡ䆓䯂ᗻDŽ ѢWaSP ҶਬԅฉႿ౨ဈܥġ WaSPЄᆦᄎēนߙोγᅹēൎပఆ՛ટ߅Ӧc ӤԙರဈWebޏיՖd ฟӖԅγᅹܤႾ࿂ࠒ࠼೯ēωԄॴӖԅಛēӬ௶ပ۳տඕ༓d࿙Үē WaSPߙދඋιᆴᆦēדιڑᅟဟދඋՇԅকdΑఢē߽၂cDreamweavercฑనc׀ރDOM߶·Ωёdแ·ఆಾᆫ܊උιᆴᆦԅюၔd ׀WaSPԅฉႿġhttp://www.webstandards.orgēࢡࢡદટนγᅹܤၮՎᆳ໔ਙd 2 Click to buy NOW! P D F - X C H A N G E w w w . d o c u - t r a c k . c o m Click to buy NOW! P D F - X C H A N G E w w w . d o c u - t r a c k . c o m

Transcript of Ppk on javascript_chapter_2

Page 1: Ppk on javascript_chapter_2

2JavaScript

JavaScript HTML CSS

JavaScript

JavaScript CSSWeb CSS JavaScript

A CSS

1C 1998 Netscape Explorer 4Web WaSP JavaScript

CSSWeb

WaSP CSSCSS JavaScript Web

CSS 1998 JavaScript

WaSP

“WaSPWeb ”

WaSP DreamweaverDOMWaSP http://www.webstandards.org

2

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 2: Ppk on javascript_chapter_2

18   2

CSSJavaScript

DOM 1C document.layers document.all CSS

CSS JavaScript

JavaScript

2002 Stuart Langridge unobtrusive scriptingCSS Web JavaScript

q

q JavaScript

q Web JavaScripthook 4B JavaScript

q .js HTML

DHTML

Stuart http://www.kryogenix.org/code/browser/aqlists/

JavaScript JavaScript

3 JavaScriptJavaScript

JavaScript 2EJavaScript

JavaScript JavaScript W3C  DOM4B

CSS HTML CSS JavaScript

 unobtrusive ——

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 3: Ppk on javascript_chapter_2

A CSS 19

Web 2­1q HTMLq CSSq JavaScript

2­1 Web HTMLCSS JavaScript

HTML HTML<h1>

HTML

HTML

CSS HTML CSS

JavaScript HTML/CSS HTMLJavaScript

HTML HTML CSS JavaScriptCSS JavaScript

2­2

screen reader ——

CSS

JavaScript

HTML

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 4: Ppk on javascript_chapter_2

20   2

2­2 JavaScript

JavaScript JavaScript2E

q HTML CSS JavaScriptq CSS JavaScript .css .js

CSS JavaScript.css

12  px 0.8  em .css

HTML

CSSHTML JavaScript

q CSS HTMLq JavaScript HTML

CSS

HTML

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 5: Ppk on javascript_chapter_2

B 21

q JavaScript CSS

JavaScript

B

HTMLCSS HTML <font>

CSS

CSS HTML JavaScriptJavaScript

CSS

JavaScript CSS CSSJavaScript

HTML

9 CSS CSS

9E CSS class Name

CSS

// objobj.className += ' errorMessage';// CSSinput.errorMessage {    border: 1px solid #cc0000;}

CSS errorMessage

CSS

JavaScript Web HTML

<tr>

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 6: Ppk on javascript_chapter_2

22   2

“XMLHTTP CSS width

HTML CSSCSS

display: none

CSS

/CSS

HTML <form>

C

JavaScript HTML

q JavaScript .js

HTMLq HTML .js

JavaScript .js HTML

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 7: Ppk on javascript_chapter_2

C 23

 <script type="text/javascript"> function doAllKindsOfNiftyThings() {     // JavaScript } </script> </head> <body> <h1>My HTML page</h1> [etc.]

<script type="text/javascript" src="nifty.js"></script></head><body><h1>My HTML page</h1>[etc.]// nifty.jsfunction doAllKindsOfNiftyThings(){    // JavaScript}

4D <script>

HTML

HTML JavaScript .js

HTML JavaScript 99%

HTML — —

  <a href="home.html"    onMouseOver="mOv('home')"    onMouseOut="mOut('home')">Home</a>

.js

<a href="home.html">Home</a>

// .jsvar nav = document.getElementById('navigation');var navLinks = nav.getElementsByTagName('a');for (var i=0;i<navLinks.length;i++){    navLinks[i].onmouseover = [code];    navLinks[i].onmouseout = [code];}

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 8: Ppk on javascript_chapter_2

24   2

id navigation <ul>

onmouseover onmouseout

JavaScript hookID 4B 7C

JavaScript

javascript

 <a href="javascript:doAllKindsOfNiftyThings()">Do Nifty!</a>

onclick

doAllKindsOfNiftyThings() javascript:

.js onclick

<a href="somepage.html" id="nifty">Do Nifty!</a>

// .jsdocument.getElementById('nifty').onclick =doAllKindsOfNiftyThings;

href URLJavaScript 2F

JavaScript JavaScriptJavaScript Netscape 4

D

JavaScript

http ftp

——

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 9: Ppk on javascript_chapter_2

D 25

CSS JavaScriptCSS JavaScript CSS JavaScript

hover mouseover/mouseout

1997 JavaScriptJavaScript 2­3

2­3 “NewsJavaScript CSS

CSS JavaScript

<li><a href="#">News</a>  <ul>    <li><a href="#">Press Releases</a></li>    <li><a href="#">News Articles</a></li>    <li><a href="#">Photo Gallery</a></li>    <li><a href="#">Official Blog</a></li>  </ul></li>

// .cssli ul {display: none;}li:hover ul {display: block}

<li> <ul> display: none

<li> li: hover display: block

JavaScript CSS Explorer  6li hover

 :hover CSS JavaScript

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 10: Ppk on javascript_chapter_2

26   2

CSS JavaScript 7H JavaScriptmouseout CSS:hover

:hover

CSS :hover JavaScript mouseover mouseout

mouseenter mouseleave Explorer 7B

JavaScript CSS CSSJavaScript

Tab HTMLCSS

li:hover

<li>

JavaScript 7G JavaScript CSSJavaScript

CSS JavaScript

CSS :hover JavaScript mouseover/mouseoutCSS JavaScript

<li> <li>

<ul> <ul>

CSS

li ul {display: none}li:hover ul {display: block}

CSS <li>

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 11: Ppk on javascript_chapter_2

D 27

——mouseover

mouseover JavaScript1996 JavaScript mouseover

CSS

CSS mouseover

<a href="somewhere.html" id="somewhere">Somewhere</a><a href="somewhere_else.html" id="somewhere_else">Somewhere else</a>a#somewhere {    background­image: url(pix/somewhere.gif);}a#somewhere_else {    background­image: url(pix/somewhere_else.gif);}a:hover#somewhere,a:focus#somewhere,a:active#somewhere {    background­image: url(pix/somewhere_hover.gif);}a:hover#somewhere_else,a:focus#somewhere_else,a:active#somewhere_else {    background­image: url(pix/somewhere_else_hover.gif);}

mouseover CSSmouseover mouseover

CSS

CSSCSS mouseover

CSSCSS mouseover

JavaScript mouseover

<a href="somewhere.html"

Dreamweaver Rollover Image ——

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 12: Ppk on javascript_chapter_2

28   2

id="somewhere"><img src="pix/somewhere.gif" /></a><a href="somewhere_else.html"id="somewhere_else"><img src="pix/somewhere_else.gif" /></a>

function initMouseOvers() {     var links = document.getElementsByTagName('img');     for (var i=0;i<links.length;i++) {             var moSrc = links[i].src.substring(0, links[i].src.lastIndexOf('.'));             moSrc += '_hover.gif';             links[i].moSrc = moSrc;             links[i].origSrc = links[i].src;             links[i].onmouseover = function () {                    this.src = this.moSrc;             }             links[i].onmouseout = function () {                    this.src = this.origSrc;             }     }}

CSSmouseover

mouseover JavaScriptCSS JavaScript

E

JavaScript

JavaScript

JavaScript

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 13: Ppk on javascript_chapter_2

E 29

JavaScript

JavaScript

JavaScript

mouseover focus onmouseover

7B JavaScript

JavaScriptJavaScript

JavaScript alt

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 14: Ppk on javascript_chapter_2

30   2

Explorer MozillaJavaScript

JavaScript http://www.access­matters.com/ Bob Easton Mike Stenhouse James Edwards Derek Featherstone

JavaScript

JavaScript

JavaScriptJavaScript

JavaScriptJavaScript

Errors have been found

[ 100 103 ]

<form id="startOfForm">if (!validForm) {    alert("Errors have been found");    location.hash = '#startOfForm';}

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 15: Ppk on javascript_chapter_2

E 31

focus blur mouseover

mouseout

James Edwardshttp://www.access­matters.com/results­for­javascript­part­2­

navigating­forms/

chaotic

Web

Derek  Featherstone JavaScript

JavaScript

JavaScript

http://www.boxofchocolates.ca/archives/2005/06/12/javascript­and­accessibility DerekFeatherstone

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 16: Ppk on javascript_chapter_2

32   2

JavaScript

JavaScript 1 JavaScriptJavaScript

Web

JavaScript

JavaScript JavaScript

JavaScript

F

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 17: Ppk on javascript_chapter_2

F 33

JavaScript

HTML

HTML

hard­code HTML

JavaScriptHTML

href

HTML href

  <a href="#" onclick="showPopup('niceimage.jpg')">Nice image!</a>

noscript user2C

JavaScript

<a href="niceimage.jpg" id="nice">Nice image!</a>document.getElementById('nice').onclick = function () {    showPopup(this.href);}

href script userpopup

JavaScript

AjaxHTML

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 18: Ppk on javascript_chapter_2

34   2

  <a href="#" onclick="startUpAjaxStuff()">Commence coolness!</a>

Ajaxhref

href JavaScript

var link = document.createElement('a');link.href = '#';link.onclick = startUpAjaxStuff;var linkText = document.createTextNode('Commence coolness!');link.appendChild(linkText);document.body.appendChild(link);

link.href # # href

href a

HTMLJavaScript JavaScriptonclick href="#"

JavaScript

JavaScriptJavaScript

CSS

rel <tr> CSS

 tr[rel] {       display: none;   }

<tr>

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 19: Ppk on javascript_chapter_2

F 35

JavaScript <tr>

JavaScript

HTML

replace()

<head><title>Noscript page</title><script type="text/javascript">var isSupported = [check JavaScript support];if (isSupported)

location.replace('scriptpage.html');</script></head>

location.href location.href

6C

2­4

2­4 location.href

location.href

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 20: Ppk on javascript_chapter_2

36   2

location.replace()

2­5

2­5 location.replace()

mouseover focus

drag­and­drop

7B

keyboard­accessible

mouseover

focus focus

keyboard­friendly HTML

focus

<noscript>

Web JavaScript<noscript>

location.replace()

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 21: Ppk on javascript_chapter_2

G 37

q JavaScript HTML

q JavaScript JavaScript<noscript>

<noscript>

JavaScript W3C DOM XMLHttpRequest<noscript>

JavaScript

<noscript>

G

8 62

8 7

1 2502­6

2­6

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 22: Ppk on javascript_chapter_2

38   2

1 250

JavaScript 2­7

2­7

2­8

2­8

class accessibility

——

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 23: Ppk on javascript_chapter_2

G 39

2­9.accessibility {display: none}

2­9

JavaScript1A

2­10

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 24: Ppk on javascript_chapter_2

40   2

2­10

JavaScriptCSS JavaScript

2­11

2­11

JavaScriptExplorer Mozilla

CSS

1/3

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 25: Ppk on javascript_chapter_2

G 41

E­mailHTML JavaScript

JavaScript

<label>

<tr> HTML

<tr>    <td class="number"><input /></td>    <td class="description">English sandwich</td>    <td class="extra">bacon, cheese, lettuce, tomato</td>    <td class="empty">freshly fried</td></tr>

<input>

HTML<tr> <input> name JavaScript

<input> <form>

<tr> <form><form method=post action="/cgi­bin/formmail/formmail.pl"><table class="search">    <tbody id="ordered">    <tr>           <td colspan="3"><h3>Your order<h3></td>           <td class="extra" rowspan="200">                   <div id="orderForm">                   //

name ——

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 26: Ppk on javascript_chapter_2

42   2

                   </div>           </td>    </tr>

// <tr>    </tbody></table></form>

name

q name <form>

name

q JavaScript <input />

<input />

XMLHTTP

XMLHTTP

PHPXML HTML 2­12

2­12 “XMLHTTP ”

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com

Page 27: Ppk on javascript_chapter_2

G 43

q HTML <input type="image">

HTML PHPq JavaScript input action

XML PHP

Web

q

q

JavaScript

Click t

o buy NOW!

PDF­XCHANGE

www.docu­track.com Clic

k to buy N

OW!PDF­XCHANGE

www.docu­track.com