Grupa
MagazynyInternetowe.pl
jQuery jest lekkim i łatwym w użyciu frameworkiem, który sprawia, że tworzenie aplikacji w JavaScript staje się przyjemnością. Koniec z ciągnącymi się liniami kodu i obchodzeniem błędów przeglądarek. Dzięki prostej składni jQuery szybko odkryjesz ogromne możliwości frameworka i osiągniesz w szybki sposób to, co wcześniej wymagało dużo więcej pracy.
Piotr Arendt
Naturalnie jQuery nie oferuje nic więcej poza tym, co dałoby się uzyskać w "czystym" JavaScripcie. Jednakże jego potęga polega na tym, że proces dochodzenia do zamierzonych efektów jest tu skracany do minimum. jQuery zawiera wbudowane narzędzia i metody do intuicyjnego poruszania się po drzewie DOM i manipulowania jego elementami, łatwego przechwytywania zdarzeń i interakcji z użytkownikiem, a także do tworzenia prostych animacji. Oraz - nie mogłoby tego zabraknąć - do w pełni bezbolesnej implementacji rozwiązań AJAX-owych.
Dodatkowo łatwość tworzenia rozszerzeń zwiększających standardową funkcjonalność biblioteki sprawiła, że mamy dziś potężną ilość rozmaitych wtyczek do jQuery. Na pewno znajdziesz wśród nich te najlepiej odpowiadające twoim potrzebom. Zawsze możesz także napisać własne rozszerzenie.
Nie musisz również martwić się o to, by rezultaty twojej pracy były poprawnie wyświetlane w różnych przeglądarkach internetowych. Dzięki zastosowaniu jQuery, w zdecydowanej większości przypadków efekty będą jednakowe. Wynika to z faktu, że wszelkie różnice w implementacji Java- Scriptu są niwelowane po stronie biblioteki.
Nowoczesne strony internetowe cechują się pełnym oddzieleniem struktury dokumentu (tj. zawartości) od warstwy prezentacyjnej (CSS) i zachowania (JavaScript). Tak jak za wizualne ostylowanie dokumentu odpowiedzialne są dołączane pliki CSS, tak za wszystkie akcje użytkownika powinny odpowiadać zewnętrzne skrypty, których wywołania nie będą opisane wewnątrz zawartości dokumentu. Unikniemy tym samym dodawania wszelakich atrybutów "onclick" czy "onmouseover" do tagów XHTML.
jQuery wspiera takie podejście. Obsługę zdarzeń deklarujemy w kodzie JavaScript, a elementy XHTML wybieramy na podobnej zasadzie, jak ma to miejsce w CSS. Zanim przejdziemy do konkretnych przykładów prezentujących bogate możliwości jQuery, pozwól, że zaczniemy od podstaw.
Najprostsze wywołanie jQuery przedstawia się następująco:
1. <html> 2. <head> 3. <script type="text/javascript"src="jquery.js"></script> 4. <script type="text/javascript"> 5. $(document).ready(function() {alert('Hej, ja działam!'); 6. }); 7. </script> 8. </head> 9. <body> 10. <h1>jQuery - przykład 1.1</h1> 11. </body> 12. </html>
W sekcji head dołączamy aktualną wersję biblioteki,
dostępną do pobrania ze strony projektu.
Tajemniczy symbol dolara, od którego zaczyna się
nasz skrypt, jest krótszym zapisem funkcji o nazwie
jQuery(). Dzięki niej zwracany jest nam obiekt,
z którym możemy coś zrobić. Będzie to najczęściej
wykorzystywana przez nas funkcja.
Idąc dalej, metoda ready() wywołana na
obiekcie document przyjmuje jako argument
funkcję, która wystartuje zaraz po tym, jak drzewo
elementów dokumentu (DOM) zostanie załadowane.
Efektem tego będzie wyświetlenie okna powiadomienia z napisem "Hej, ja działam!". Zwróć uwagę, że może to nastąpić wcześniej, niż gdyby funkcja ta miała być wywoływana zdarzeniem onload. Nasze rozwiązanie posiada dużą przewagę nad tym drugim.
Jak może wiesz, funkcje wywoływane zdarzeniem onload (przypisanym zazwyczaj do elementu body) czekają ze swoim startem, aż załadują się wszystkie elementy dołączone do dokumentu (w tym np. elementy graficzne), które mogą pobierać się wystarczająco długo, aby zauważalnie opóźnić załadowanie się skryptów. Zdecydowanie lepiej jest, gdy nasze funkcje wywoływane są od razu po tym, jak DOM jest do dyspozycji (czyli wtedy, kiedy załaduje się sam kod XHTML) - i na to też pozwala jQuery.
Wracając do naszego przykładu, skoro mamy już załadowane drzewo dokumentu, nie sposób z tego nie skorzystać. Zmodyfikujmy więc nieco nasz kod:
1. $(document).ready(function() { 2. $('h1').click(function() { 3. alert('Hej, ja działam!'); 4. }); 5. });
Właśnie wybraliśmy element h1, stworzyliśmy na jego podstawie obiekt, a następnie do metody click() przypisaliśmy znajomą już funkcję. Da to taki sam efekt, jak gdybyśmy napisali:
<h1 onclick="alert('Hej, ja działam!')">jQuery - przykład 1.2</h1>
Lepiej jednak pozostawić obsługę zdarzeń jQuery. Nasz skrypt przechwytuje zdarzenie onclick odnoszące się do elementu h1 i kiedy ono nastąpi, wywołuje zdefiniowaną funkcję.
Filozofia jQuery opiera się na zasadzie "znajdź element i zrób coś z nim". Ten styl pisania kodu jest tak intuicyjny, że sposób, w jaki dochodzimy do pewnych rozwiązań, wydaje się w pełni naturalny. Prześledźmy poniższy przykład:
1. $(document).ready(function() { 2. $('#owoce tr:odd td').addClass('zebra'); 3. });
1. <h1>jQuery - przykład 2.1</h1> 2. <table id="owoce"> 3. <tr> 4. <th>owoc</th> 5. <th>sztuk</th> 6. </tr> 7. <tr> 8. <td>jabłko</td> 9. <td>3</td> 10. </tr> 11. <tr> 12. <td>mango</td> 13. <td>12</td> 14. </tr> 15. <tr> 16. <td>banan</td> 17. <td>7</td> 18. </tr> 19. <tr> 20. <td>kiwi</td> 21. <td>20</td> 22. </tr> 23. <tr> 24. <td>gruszka</td> 25. <td>15</td> 26. </tr> 27. </table>
Wybraliśmy tutaj wszystkie komórki (td) z nieparzystych wierszy (tr:odd) należących do tabeli o identyfikatorze "owoce", a następnie nadaliśmy każdej z nich klasę "zebra", dla której w CSS odnosi się reguła:
1. td.zebra { 2. background-color: #efe; 3. }
Prawda, że proste? Gwoli wyjaśnienia,
addClass() jest jedną z metod jQuery, a jej zadanie
polega na przypisaniu danemu elementowi klasy
CSS. Więcej o metodach dowiesz się w dalszej
części artykułu. Warto zwrócić uwagę, że wybrane
wiersze tabeli nie są wizualnie nieparzyste, lecz
mają nieparzyste indeksy w kolekcji zgromadzonych
przez jQuery pasujących elementów (skrypt
oznaczył pierwszy wiersz indeksem 0, drugi - 1,
trzeci - 2, itd.).
Przeglądarka na bieżąco aktualizuje zmiany w DOM. Innymi słowy, po załadowaniu dokumentu, tabela została zmodyfikowana w sposób zaprezentowany na poniższym listingu:
1. <table id="owoce"> 2. <tr> 3. <th>owoc</th> 4. <th>sztuk</th> 5. </tr> 6. <tr class="zebra"> 7. <td>jabłko</td> 8. <td>3</td> 9. </tr> 10. <tr> 11. <td>mango</td> 12. <td>12</td> 13. </tr> 14. <tr class="zebra"> 15. <td>banan</td> 16. <td>7</td> 17. </tr> 18. <tr> 19. <td>kiwi</td> 20. <td>20</td> 21. </tr> 22. <tr class="zebra"> 23. <td>gruszka</td> 24. <td>15</td> 25. </tr> 26. </table>
Powiązane publikacje
Komentarzy: 1
Proponuję poprawić:
#stopka
i:
"element oznaczony klasą "stopka"
Pozdrawiam
Piotr Arendt zajmuje się zawodowo kodowaniem strony użytkownika serwisów internetowych.
Jest entuzjastą dopracowanych aplikacji: schludnego kodu, przemyślanych interfejsów użytkownika i bogatego user experience. Prywatnie miłośnik zen, minimalizmu i nastrojowej muzyki.
Artykuły tego autora:
Opieranie się na JavaScripcie może okazać się błędem. Wbrew pozorom nie wszyscy odwiedzający z niego korzystają. Zadziwiające, jak często twórcy stron zapominają o tym.
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: