Professional Documents
Culture Documents
i Ajax. Wydanie VI
Autorzy: Tom Negrino, Dori Smith
Tumaczenie: Wojciech Moch, ukasz Orzechowski
ISBN: 978-83-246-0839-3
Tytu oryginau: JavaScript and Ajax for the Web,
Sixth Edition: Visual QuickStart Guide (6th Edition)
Format: B5, stron: 524
Wydawnictwo Helion
ul. Kociuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Spis treci
Spis treci
Rozdzia 1.
Wprowadzenie
11
15
Rozdzia 2.
Zaczynamy!
Spis treci
35
Podstawy jzyka
59
Spis treci
Aktualizowanie tablic ........................................................................................... 72
Stosowanie ptli do/while .................................................................................... 74
Wywoywanie skryptu na kilka rnych sposobw ............................................ 76
Tworzenie wielopoziomowych instrukcji warunkowych ................................... 78
Obsuga bdw ................................................................................................... 81
Rozdzia 4.
Praca z obrazami
83
Spis treci
117
143
Spis treci
Rozdzia 7.
Obsuga formularzy
169
209
Rozdzia 9.
Obsuga zdarze
Spis treci
233
JavaScript i ciasteczka
257
Wprowadzenie do CSS
277
Spis treci
Kontrola identyfikatorw ................................................................................... 285
Rozrnianie czy ............................................................................................. 287
Osadzanie styli w stylach ................................................................................... 289
Umieszczanie obrazkw w tle ........................................................................... 291
Pozycjonowanie bezwzgldne ........................................................................... 293
Rozdzia 12.
295
313
Spis treci
JavaScript w akcji
335
371
Spis treci
Rozdzia 16.
403
Skryptozakadki
433
Dodatek A
457
487
Dodatek C
491
Dodatek D
499
Skorowidz
509
Spis treci
Ramki, ramki
i jeszcze raz ramki
Rozdzia 5. Ramki, ramki i jeszcze raz ramki
Ramki to jeden z najbardziej efektywnych
elementw HTML, cho w ostatnich latach do
mocno wypady z ask twrcw stron WWW.
W tym rozdziale opisujemy, jak ujarzmi je
za pomoc JavaScriptu i jeszcze bardziej
rozszerzy ich moliwoci.
117
Rozdzia 5.
Tabela 5.1. Podstawy HTML Ramki
Znacznik
Atrybut
frameset
Okrela, e strona skada si z dwch lub wicej stron umieszczonych w ramkach. Zawiera
znaczniki <frame>, ktre definiuj poszczeglne strony.
cols
frame
id
name
src
iframe
118
Znaczenie
name
src
width
height
align
framebodrer
119
Rozdzia 5.
Aby odizolowa stron WWW:
1. if (top.location != self.location) {
2. top.location.replace(self.location);
Wskazwka
Moglibymy po prostu przypisa warto
top.location do waciwoci self.location,
120
Wskazwka
Sposb ten jest uyteczny tylko wwczas,
121
if (top.location == self.location) {
self.location.replace("frameset2.html");
}
Rozdzia 5.
122
if (currURL != linkURL) {
contentWin.location.replace(linkURL);
}
}
}
function justTheFilename(thisFile) {
if (thisFile.indexOf("/") > -1) {
thisFile = thisFile.substring
(thisFile.lastIndexOf("/")+1);
}
if (thisFile.indexOf("?") == 0) {
thisFile = thisFile.substring(1);
}
return thisFile;
}
123
function chgFrame() {
if (top.location == self.location &&
document.location.search) {
var linkURL = justTheFilename
(document.location.search);
var contentWin = document.getElementById
("content").contentWindow;
var currURL = justTheFilename
(contentWin.location.pathname);
Rozdzia 5.
5. if (top.location == self.location &&
document.location.search) {
124
125
Rozdzia 5.
Zaadowanie ramki
Zaadowanie ramki
2. function initLinks() {
for (var i=0; i<document.links.
length; i++) {
document.links[i].target = "content";
}
}
Wskazwka
Jeeli jzyk JavaScript zostanie wyczony,
126
127
Tworzenie i adowanie
ramek dynamicznych
Rozdzia 5.
Aby dynamicznie zaadowa stron do ramki
z innej ramki:
1. function initLinks() {
for (var i=0; i<document.links.
length; i++) {
document.links[i].onclick =
writeContent;
document.links[i].thisPage = i+1;
}
128
Wskazwki
129
Rozdzia 5.
130
131
setBanner();
Rozdzia 5.
7. var randomNum = Math.floor(Math.random() *
bannerArray.length);
8. contentWin.getElementById("adBanner").src =
bannerArray[randomNum];
Wskazwka
Prosz zauway, e funkcja resetBanner()
132
Przechowywanie informacji
w ramkach
133
Rozdzia 5.
Aby zlicza wywietlenia strony:
1. <h2>Ta strona bya ju wywietlana
<span id="pageCt"> </span> razy.</h2>
134
6. function resetPageCt() {
document.getElementById("content").
contentWindow.location.href =
pageArray[this.thisPage];
setTimeout("bumpPageCt("+this.
thisPage+")",1000);
return false;
}
135
Rozdzia 5.
1. function initFrames() {
var leftWin = document.getElementById
("left").contentWindow.document;
for (var i=0; i<leftWin.links.length;
i++) {
leftWin.links[i].onclick = setFrames;
}
}
136
Wskazwka
Jeeli bdziemy szybko klika cza z paska
nawigacyjnego, to natkniemy si na do
nieoczekiwane zachowanie: strona z treci
zostanie zaadowana do ramki paska
nawigacyjnego. Po prostu strona nawigacyjna
musi zaadowa si w caoci i dopiero wtedy
moe przyjmowa kliknicia.
137
Rozdzia 5.
138
var contentWin =
document.getElementById("content").
contentWindow.document;
contentWin.body.innerHTML = newText;
return false;
}
139
Rozdzia 5.
5. var contentWin = document.getElementById
("content").contentWindow.document;
contentWin.body.innerHTML = newText;
return false;
Wskazwka
140
1. function setiFrame() {
document.getElementById("content").
contentWindow.document.location.href =
this.href;
return false;
}
Rysunek 5.16. Zawarto ramki iframe jest adowana
po klikniciu cza z paska nawigacyjnego.
141