[ Pobierz całość w formacie PDF ]
.Pêtla for z wierszy106–120 tworzy warstwy i generuje treœæ warstwy menu:var menuStr = '';for (var i = 0; i < slideShow.length; i++) {genLayer('slide' + i, sWidPos, 45, dWidLyr, dHgtLyr,(i == 0 ? showName : hideName), slideShow[i].structure);menuStr += '';}Pêtla przechodzi kolejno po wszystkich elementach tablicy slideShow, tworz¹cza ka¿dym razem warstwê slajdu przez wywo³anie genLayer().Przyjrzyjmy siê temudok³adniej:genLayer('slide' + i, sWidPos, 45, dWidLyr, dHgtLyr,(i == 0 ? showName : hideName), slideShow[i].structure);Konieczne jest przekazanie ca³ego pakietu parametrów.W tabeli 3.2 zestawionoi opisano wszyst­kie te parametry.Mo¿na mieæ w¹tpliwoœci do proponowanego przez autora podejœcia.O ile s³usznejest stosowanie jednego identyfikatora do odwo³ywania siê do wszystkichspokrewnionych obiektów, to nie najlepszym pomys³em jest prezentowanieu¿ytkownikowi tego identyfikatora jako nazwy opisowej.Dobrym przyk³adem jest omawiana aplikacja – zmiana angielskich nazw zwierz¹tna polskie oznacza³aby koniecznoœæ zmienienia nazw wszystkich plikówgraficznych lub przebudowê aplikacji (dodanie funkcji koduj¹cej polsk¹ nazwêzwierzêcia na nazwê angielsk¹, na podstawie której dopiero mo¿na okreœlaæ nazwyplików).Oczywiœcie najprostszym rozwi¹zaniem by³oby dodanie do obiektuzwierzêcia dodatkowej nazwy i pokazywanie jej zamiast nazwy angielskiej.Nawet przy pisaniu nowej aplikacji stosowanie od razu polskich nazw zwierz¹tjako identyfikatorów jest nieciekawym pomys³em.Nazwa polska musia³by tak¿e byæzawarta w nazwie pliku graficznego – na przyk³ad œwinia.gif.Pu³apka polegana tym, ¿e w systemie Windows u¿ywane jest kodowanie polskich literWindows 1250, we wszelkich Uniksach (³¹cznie z Linuksem) stosowany jeststandard ISO 8859-2, zatem nazwy plików nie s¹ przenoœne miêdzy tymi systemami(œwinia.gif zmieni siê na przyk³ad w œwinia.gif).Pamiêtajmy, ¿e wiêkszoœæserwerów sieciowych to serwery uniksowe.Jeœli nawet nie przeszkadza komuœ taka dziwna nazwa pliku, to i tak jeszczenie koniec problemów.W Internecie obowi¹zuje kodowanie polskich znaków zgodniez ISO 8859-2 (obecnie upowszechniaj¹cy siê standard XML w ogóle nie obs³ugujeWindows 1250), jeœli zatem chcemy wyœwietliæ u¿ytkownikowi nazwê zakodowan¹inaczej, na ekranie pojawiæ siê mog¹ „krzaczki”.Jeœli zmienimy kodowanienazwy, to z kolei nie bêdzie ona zgodna z nazwami plików graficznych!Nasuwaj¹ siê wiêc dwa wnioski:Nie u¿ywaj identyfikatorów jako opisów pokazywanych u¿ytkownikowi (uproœci totak¿e tworzenie wersji jêzykowych aplikacji czy stron HTML).W identyfikatorach stosuj jedynie znaki ASCII (w przypadku liter tylko alfabet³aciñski), przynajmniej dopóki nie upowszechni siê standard Unicode, a tojeszcze potrwa.Tabela 3.2.Parametry genLayer()WartoœæOpis'slide' + iTworzy niepowtarzaln¹, indeksowan¹ nazwê ka¿dego slajdu, na przyk³ad slide0,slide1 i tak dalej.sWidPosOdleg³oœæ od lewego brzegu okna w pikselach.sHgtPosOdleg³oœæ w pikselach od górnego brzegu okna.dWidLyrDomyœlna szerokoœæ slajdu, w tym wypadku 450.dHgtLyrDomyœlna wysokoœæ slajdu, w tym wypadku 450.(i == 0 ? true : false)Sprawdza, czy slajd jest pokazany (true), czy schowany (false).Pocz¹tkowoschowane s¹ wszystkie slajdy poza pierwszym (kiedy i równe jest 0).slideshow[i].structureTreœæ slajdu, tekst i grafika, wstawione do tabeli.Pochodzi z konstruktoraslajdu (wiersze 54–59).Funkcja genLayer() wywo³ywana jest tyle razy, ile wynosi wartoœæ wyra¿eniaslideShow.length – warstwa tworzona jest dla ka¿dego slajdu.Nie ma znaczenia,czy slajdów jest 6, czy 106 – wszystkie obs³ugiwane s¹ tak samo, w tym jednymwierszu.Co ciekawe, ca³a reszta kodu genScreen() s³u¿y do uzyskania trzechdodatkowych warstw.Zanim jednak przejdziemy dalej, przypatrzmy siê jeszczepêtli for:menuStr += '';Tutaj zaczêliœmy od wiersza 110, ale zmienna menuStr wczeœniej by³azainicjalizowana jako ci¹g pusty, a teraz jej wartoœci¹ bêdzie HTML z kodems³u¿¹cym do wyœwietlania par obrazków uak­tywniaj¹cych siê, kiedy znajduje siênad nimi wskaŸnik myszki.Spojrzyjmy na rysunek 3.2, aby sprawdziæ, jak dzia³ato menu.W przypadku ka¿dego slajdu menuStr rozszerza swoj¹ wartoœæ o obrazekodpowiadaj¹cy danemu slajdowi.Zanim zaczniemy wyszukiwaæ pojedyncze i podwójnecudzys³owy, zastanówmy siê, co jest potrzebne do ka¿dej pary obrazków menu:Otwieraj¹cy znacznik.Kod obs³ugi zdarzenia onMouseOver, reaguj¹cy na najechanie przez u¿ytkownikakursorem myszy nad obrazek [ Pobierz caÅ‚ość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • listy-do-eda.opx.pl