JavaScript i DHTML. Receptury - Helion
Tytuł oryginału: JavaScript & DHTML Cookbook
Tłumaczenie: Piotr Rajca (rozdz. 1 - 10), Marek Pałczyński (rozdz. 11 - 15, dod. A - C)
ISBN: 83-7361-225-4
stron: 608, Format: B5, okładka: miękka
Data wydania: 2003-11-04
Księgarnia: Helion
Cena książki: 59,00 zł
DHTML i JavaScript już od kilku lat stanowią ważne narzędzia każdego projektanta stron internetowych. Jednak właściwe ich zastosowanie w dalszym ciągu sprawia wiele problemów. Danny Goodman, jeden z najbardziej doświadczonych autorów książek na temat tworzenia stron internetowych, postanowił zebrać rozwiązania tych problemów i przedstawić je projektantom pragnącym ożywić swoje strony. Wszystkie prezentowane przykłady wykorzystują najnowsze standardy stworzone przez ECMA i W3C, co daje gwarancję, że będą działały w różnych przeglądarkach przez wiele następnych lat.
Książka "JavaScript i DHTML. Receptury" skupia się na praktycznych, użytecznych zastosowaniach skryptów na stronach internetowych. Autor nie marnuje miejsca na opisy fajerwerków, fruwających obrazków i zmian kolorów tła. Każde omówione rozwiązanie składa się nie tylko z gotowego do użycia kodu, ale także z gruntownego wyjaśnienia jego działania tak, byś mógł przystosować kod do swojej strony. Opisano zarówno proste skrypty (np. służące do obróbki tekstów, czy sprawdzania poprawności wprowadzonych dat), jak i złożone biblioteki służące do pozycjonowania elementów na stronie czy sortowania tabel.
Ponad 150 receptur obejmuje m.in.:- Pracę z interaktywnymi formularzami i stylami
- Tworzenie przyjaznej dla użytkownika nawigacji po serwisie
- Efekty wizualne
- Tworzenie dynamicznej treści
- Pozycjonowanie elementów HTML
- Zarządzanie okienkami przeglądarki i ramkami
Tak jak żaden większy serwis internetowy nie może obyć się bez JavaScriptu i DHTML, tak też żaden profesjonalny twórca takich serwisów nie może obyć się bez tej książki.
Osoby które kupowały "JavaScript i DHTML. Receptury", wybierały także:
- D3.js w akcji 67,42 zł, (20,90 zł -69%)
- Tablice informatyczne. Node.js 16,86 zł, (5,90 zł -65%)
- React i GatsbyJS. Kurs video. Nowoczesne strony internetowe w oparciu o headless CMS i GraphQL 148,98 zł, (59,59 zł -60%)
- TypeScript i React. Kurs video. Tworzenie nowoczesnych komponent 129,00 zł, (51,60 zł -60%)
- Vue.js w praktyce. Kurs video. Poznaj narz 148,98 zł, (59,59 zł -60%)
Spis treści
JavaScript i DHTML. Receptury -- spis treści
Wstęp (11)
Rozdział 1. Łańcuchy znaków (19)
- 1.0. Wprowadzenie (19)
- 1.1. Konkatenacja (łączenie) łańcuchów znaków (23)
- 1.2. Dostęp do fragmentów łańcuchów (24)
- 1.3. Zmiana wielkości liter (26)
- 1.4. Sprawdzanie równości dwóch łańcuchów (27)
- 1.5. Sprawdzenie występowania łańcucha znaków bez użycia wyrażeń regularnych (29)
- 1.6. Sprawdzenie występowania łańcucha znaków z użyciem wyrażeń regularnych (30)
- 1.7. Wyszukiwanie i zastępowanie łańcuchów znaków (32)
- 1.8. Używanie znaków specjalnych i znaków poprzedzanych odwrotnym ukośnikiem (33)
- 1.9. Odczyt i zapis łańcuchów znaków w cookies (36)
- 1.10. Konwersja pomiędzy wartościami Unicode oraz znakami (39)
- 1.11. Kodowanie i dekodowanie łańcuchów używanych w adresach URL (40)
- 1.12. Kodowanie i dekodowanie łańcuchów zapisanych w formacie Base64 (42)
Rozdział 2. Liczby i daty (47)
- 2.0. Wprowadzenie (47)
- 2.1. Konwersja liczb na łańcuch znaków i na odwrót (51)
- 2.2. Sprawdzanie poprawności liczb (54)
- 2.3. Sprawdzanie równości liczb (55)
- 2.4. Zaokrąglanie liczb zmiennoprzecinkowych (57)
- 2.5. Formatowanie liczb w celu ich prezentacji (58)
- 2.6. Konwersje liczb dziesiętnych i szesnastkowych (61)
- 2.7. Generacja liczb pseudolosowych (63)
- 2.8. Obliczanie funkcji trygonometrycznych (64)
- 2.9. Tworzenie obiektu Date (65)
- 2.10. Wyznaczanie dat w przeszłości i przyszłości (66)
- 2.11. Obliczanie ilości dni pomiędzy dwiema datami (68)
- 2.12. Weryfikacja dat (70)
Rozdział 3. Tablice i obiekty (75)
- 3.0. Wprowadzenie (75)
- 3.1. Tworzenie prostej tablicy (79)
- 3.2. Tworzenie tablic wielowymiarowych (80)
- 3.3. Konwersje tablic na łańcuchy znaków i na odwrót (82)
- 3.4. Wykonywanie operacji na elementach tablicy (84)
- 3.5. Sortowanie prostych tablic (86)
- 3.6. Łączenie tablic (88)
- 3.7. Dzielenie tablic (89)
- 3.8. Tworzenie obiektów niestandardowych (91)
- 3.9. Symulowanie tablic mieszających w celu szybkiego odnajdywania elementów tablic (95)
- 3.10. Wykonywanie operacji na właściwości obiektu (97)
- 3.11. Sortowanie tablicy obiektów (98)
- 3.12. Modyfikacja prototypu obiektu (100)
- 3.13. Konwersja tablic i obiektów niestandardowych na łańcuchy znaków (105)
Rozdział 4. Zmienne, funkcje i sterowanie wykonywaniem skryptów (109)
- 4.0. Wprowadzenie (109)
- 4.1. Tworzenie zmiennych w JavaScripcie (110)
- 4.2. Tworzenie funkcji o konkretnej nazwie (114)
- 4.3. Zagnieżdżanie funkcji (117)
- 4.4. Tworzenie funkcji anonimowych (119)
- 4.5. Opóźnianie wywołania funkcji (120)
- 4.6. Wykonywanie różnych kodów w zależności od warunku (123)
- 4.7. Elegancka obsługa błędów w skryptach (127)
- 4.8. Poprawianie efektywności działania skryptów (130)
Rozdział 5. Wykrywanie możliwości przeglądarek (135)
- 5.0. Wprowadzenie (135)
- 5.1. Określanie rodzaju przeglądarki (142)
- 5.2. Wykrywanie wczesnych wersji przeglądarek (143)
- 5.3. Określanie wersji Internet Explorera (144)
- 5.4. Określanie wersji Netscape Navigatora (146)
- 5.5. Określanie systemu operacyjnego, w jakim działa przeglądarka (147)
- 5.6. Wykrywanie obsługi obiektów (150)
- 5.7. Wykrywanie obsługi właściwości i metod obiektów (153)
- 5.8. Określanie języka wybranego w przeglądarce (155)
- 5.9. Wykrywanie możliwości obsługi cookies (156)
- 5.10. Tworzenie połączeń zależnych od przeglądarki lub możliwości (157)
- 5.11. Testowanie strony w wielu wersjach przeglądarek (160)
Rozdział 6. Zarządzanie oknami przeglądarki (163)
- 6.0. Wprowadzenie (163)
- 6.1. Określanie wielkości głównego okna przeglądarki (166)
- 6.2. Określanie położenie głównego okna przeglądarki (168)
- 6.3. Maksymalizacja głównego okna przeglądarki (169)
- 6.4. Tworzenie nowych okien (171)
- 6.5. Wyświetlanie okna ponad innymi (175)
- 6.6. Wymiana informacji z nowym oknem (177)
- 6.7. Komunikacja z głównym oknem przeglądarki (180)
- 6.8. Stosowanie okien modalnych i niemodalnych w Internet Explorerze (181)
- 6.9. Symulowanie modalnych okien dialogowych działających w różnych przeglądarkach (185)
- 6.10. Symulowanie okien przy użyciu warstw (193)
Rozdział 7. Zarządzanie wieloma ramkami (209)
- 7.0. Wprowadzenie (209)
- 7.1. Tworzenie pustej ramki w nowym układzie ramek (215)
- 7.2. Zmiana zawartości jednej ramki z poziomu innej (217)
- 7.3. Jednoczesna zmiana zawartości kilku ramek (218)
- 7.4. Zastępowanie układu ramek pojedynczą stroną (220)
- 7.5. Unikanie wyświetlania witryny w układzie ramek innej witryny (221)
- 7.6. Wymuszenie wyświetlenia strony w odpowiednim układzie ramek (222)
- 7.7. Odczytywanie wymiarów ramki (226)
- 7.8. Zmiana wielkości ramek (227)
- 7.9. Dynamiczne określanie specyfikacji układu ramek (231)
Rozdział 8. Dynamiczne formularze (235)
- 8.0. Wprowadzenie (235)
- 8.1. Automatyczne przekazywanie fokusu do pierwszego pola tekstowego (239)
- 8.2. Najczęściej spotykane sposoby weryfikacji poprawności danych (240)
- 8.3. Zapobieganie wysłaniu formularza w wypadku wykrycia błędnych danych (245)
- 8.4. Automatyczne przenoszenie fokusu do pola z błędnymi danymi (249)
- 8.5. Zmiana akcji formularza (250)
- 8.6. Blokowanie wysyłania formularza na skutek naciśnięcia klawisza Enter (252)
- 8.7. Przenoszenie fokusu do następnego pola tekstowego po naciśnięciu klawisza Enter (253)
- 8.8. Wysyłanie formularza po naciśnięciu klawisza Enter w polu tekstowym (255)
- 8.9. Wyłączanie elementów sterujących formularzy (256)
- 8.10. Ukrywanie i wyświetlanie zawartości formularzy (258)
- 8.11. Zezwalanie na wpisywanie w polu tekstowym wyłącznie cyfr (lub liter) (261)
- 8.12. Automatyczne przechodzenie pomiędzy polami o określonej pojemności (263)
- 8.13. Zmiana zawartości elementu select (265)
- 8.14. Kopiowanie ze strony na stronę informacji podanych w formularzu (268)
Rozdział 9. Zarządzanie zdarzeniami (273)
- 9.0. Wprowadzenie (273)
- 9.1. Uwzględnianie różnic pomiędzy modelami obsługi zdarzeń IE oraz W3C (280)
- 9.2. Wykonywanie operacji po załadowaniu strony (283)
- 9.3. Określanie współrzędnych punktu kliknięcia (285)
- 9.4. Zapobieganie wykonywaniu domyślnego sposobu obsługi zdarzenia (289)
- 9.5. Blokowanie dwukrotnego kliknięcia (293)
- 9.6. Określanie elementu, do którego zostało skierowane zdarzenie (294)
- 9.7. Określanie, który przycisk myszy został naciśnięty (296)
- 9.8. Określanie, jaki klawisz znakowy został naciśnięty (299)
- 9.9. Określanie, który z klawiszy innych niż znakowe został naciśnięty (301)
- 9.10. Określanie, które klawisze modyfikatorów zostały naciśnięte... (304)
- 9.11. Określanie elementu, w obszarze którego znalazł się wskaźnik myszy... (306)
- 9.12. Synchronizacja dźwięków ze zdarzeniami (310)
Rozdział 10. Techniki nawigacji (313)
- 10.0. Wprowadzenie (313)
- 10.1. Ładowanie nowej strony lub przechodzenie do odnośnika (317)
- 10.2. Usuwanie strony z historii przeglądarki (319)
- 10.3. Wykorzystywanie elementu select w celach nawigacyjnych (320)
- 10.4. Przekazywanie danych pomiędzy stronami przy użyciu cookies (323)
- 10.5. Przekazywanie danych pomiędzy stronami przy wykorzystaniu ramek (325)
- 10.6. Przekazywanie danych pomiędzy stronami przy wykorzystaniu adresów URL (328)
- 10.7. Tworzenie menu kontekstowego (wyświetlanego po kliknięciu prawym przyciskiem myszy) (331)
- 10.8. Tworzenie rozwijanego menu nawigacyjnego (339)
- 10.9. Tworzenie menu określającego ścieżkę nawigacji (354)
- 10.10. Tworzenie rozwijanych menu (358)
- 10.11. Tworzenie rozwijanego menu na bazie informacji zapisanych w języku XML (370)
Rozdział 11. Zarządzanie arkuszami stylu (383)
- 11.0. Wprowadzenie (383)
- 11.1. Globalne reguły stylu (386)
- 11.2. Reguły stylu przypisywane zbiorom elementów (387)
- 11.3. Reguły stylów przypisywane pojedynczym elementom (389)
- 11.4. Importowanie arkuszy stylu (390)
- 11.5. Importowanie arkuszy stylu zależnie od przeglądarki lub systemu operacyjnego (391)
- 11.6. Zmiana importowanych arkuszy stylu po ich załadowaniu (392)
- 11.7. Włączanie i wyłączanie arkuszy stylu (394)
- 11.8. Zmiana arkusza stylu wybranego elementu (395)
- 11.9. Przesłanianie reguł arkusza stylu (397)
- 11.10. Przekształcanie fragmentu tekstu w element o określonym stylu prezentacji (398)
- 11.11. Tworzenie wyśrodkowanych elementów strony (399)
- 11.12. Odczytywanie rzeczywistych wartości własności stylu (400)
- 11.13. Wymuszanie zgodności ze standardem w przeglądarkach wersji 6. (402)
Rozdział 12. Efekty wizualne elementów statycznych (405)
- 12.0. Wprowadzenie (405)
- 12.1. Buforowanie rysunków (409)
- 12.2. Zamiana rysunków (411)
- 12.3. Zmiana własności stylu elementów tekstowych (414)
- 12.4. Dynamiczna zmiana rozmiaru czcionki (417)
- 12.5. Tworzenie własnych stylów odsyłaczy (421)
- 12.6. Zmiana koloru i rysunku tła (423)
- 12.7. Ukrywanie i uwidacznianie elementów (426)
- 12.8. Przezroczystość elementów (427)
- 12.9. Efekty przejścia (429)
Rozdział 13. Pozycjonowanie elementów HTML (435)
- 13.0. Wprowadzenie (435)
- 13.1. Przystosowanie elementu do pozycjonowania w przestrzeni dokumentu (440)
- 13.2. Powiązanie elementu pozycjonowanego z elementem Body (442)
- 13.3. Pozycjonowanie z wykorzystaniem biblioteki języka JavaScript i DHTML (444)
- 13.4. Wybór kontenera div lub span (450)
- 13.5. Ustalanie pozycji elementu w stosie (453)
- 13.6. Wyśrodkowanie elementu umieszczonego nad innym elementem (454)
- 13.7. Wyśrodkowanie elementu w oknie lub w ramce (457)
- 13.8. Ustalanie położenia elementu nieobjętego pozycjonowaniem (460)
- 13.9. Animacja wzdłuż linii prostej (461)
- 13.10. Animacja po okręgu (465)
- 13.11. Przeciąganie elementów (467)
- 13.12. Przewijanie zawartości elementu div (473)
- 13.13. Tworzenie własnego paska przewijania (479)
Rozdział 14. Dynamiczna zawartość strony (491)
- 14.0. Wprowadzenie (491)
- 14.1. Generowanie kodu podczas pobierania strony (492)
- 14.2. Dynamiczne generowanie nowych stron (494)
- 14.3. Włączanie zewnętrznych dokumentów HTML (496)
- 14.4. Osadzanie danych XML (498)
- 14.5. Osadzanie danych w postaci obiektów JavaScript (502)
- 14.6. Przekształcanie danych XML do postaci tabel HTML (504)
- 14.7. Przekształcanie obiektów JavaScript w tabele HTML (508)
- 14.8. Przekształcanie drzewa XML w obiekty JavaScript (510)
- 14.9. Tworzenie nowych elementów (512)
- 14.10. Tworzenie tekstowej zawartości nowo wprowadzanych elementów (514)
- 14.11. Łączenie elementów i węzłów tekstowych (516)
- 14.12. Wstawianie i wypełnianie elementów iframe (518)
- 14.13. Pozyskiwanie referencji obiektu elementu HTML (520)
- 14.14. Zamiana fragmentów sekcji body (523)
- 14.15. Usuwanie zawartości sekcji body (524)
- 14.16. Sortowanie zawartości tabel (526)
- 14.17. Analiza węzłów drzewa dokumentu (529)
- 14.18. Pobieranie treści dokumentu (534)
Rozdział 15. Aplikacje o dynamicznie generowanej zawartości (537)
- 15.0. Wprowadzenie (537)
- 15.1. Losowo wyświetlane komunikaty (538)
- 15.2. Przekształcanie zaznaczonego przez użytkownika tekstu w element HTML (541)
- 15.3. Automatyczne wyszukiwanie i zastępowanie fragmentów treści elementu body (543)
- 15.4. Pokaz slajdów (546)
- 15.5. Automatyczne przewijanie strony (553)
- 15.6. Powitanie zależne od pory dnia (555)
- 15.7. Odliczanie dni do Bożego Narodzenia (556)
- 15.8. Zegar odliczający czas do wyznaczonego terminu (558)
- 15.9. Kalendarz (565)
- 15.10. Animowany pasek postępu (572)
Dodatek A Kody znaków w zdarzeniach generowanych przy naciśnięciu klawiszy klawiatury (579)
Dodatek B Kody klawiszy (583)
Dodatek C Słowa kluczowe ECMAScript (585)
Skorowidz (587)