Szybki kurs: godzina dziennie z jQuery #2 – manipulacja elementami



W poprzednim odcinku kursu jQuery dowiedzieliśmy się w jaki sposób zacząć pracę z biblioteką jQuery, jak zbudować pierwszą funkcję oraz udało się zbudować prostą animację związaną z pokazywaniem i ukrywaniem elementu. Dzisiaj rozwiniemy ten temat, starając się opisać inne funkcje związane z pokazywaniem i ukrywaniem elementów na stronie.

Czego dowiesz się z artykułu?

  • jak wykorzystać funkcję slideUp i slideDown
  • jak wykorzystać funkcję show i hide

Funkcje slideUp i slideDown

Aby wzbogacić animację z poprzedniej części kursu, możemy pokusić się o zmianę funkcji z rodziny fade na funkcję z rodziny slide. Tym sposobem elementy umieszczone na stronie nie będą zanikać/pojawiać się stopniowo, a za to będą się rozwijać i zwijać.

Zobacz przykład SlideUp i SlideDown

Cała operacja jest naprawdę prosta, po prostu zamieniamy funkcje fadeIn i fadeOut na slideUp i slideDown.

  1.  $(function(){
  2.  $("#pojBox").click(function(){
  3.    $("#pojBox").slideUp(4000);  
  4.   });
  5.  
  6.  $("a").click(function(){
  7.    $("#pojBox").slideDown('normal');  
  8.   });
  9. });

Warto jeszcze wspomnieć, że jeżeli użyjemy funkcji bez parametrów czasowych, to animacja będzie trwała 400 milisekund. Oczywiści podobnie jak w przypadku fadeIn i fadeOut możemy jako parametr funkcji podać liczbę milisekund trwania animacji, jak również użyć predefiniowanych szybkości animacji: slow, normal i fast.

Funkcje show i hide

Innymi ciekawymi funkcjami są show i hide. Podobnie jak fadeIn, fadeOut, slideUp i slideDown, także i te funkcje przyjmują parametr czasowy wykonywania animacji w milisekundach lub predefinowanych nazwach szybkości.

Jak już z pewnością zauważyliście funkcje fadeIn/fadeOut manipulowały wartością opacity, z kolei funkcje slideIn/slideOut manipulowały wartością height elementu. Elementem wyróżniającym funkcje show i hide jest fakt, że manipulują one 3 wartościami jednocześnie: width, height oraz opacity.

Zobacz przykład hide i show

Po raz kolejny zmieniliśmy jedynie nazwy funkcji:

  1.  $(function(){
  2.  $("#pojBox").click(function(){
  3.    $("#pojBox").show(4000);  
  4.   });
  5.  
  6.  $("a").click(function(){
  7.    $("#pojBox").hide('normal');  
  8.   });
  9. });

Fade, Slide i Show w praktyce

Skoro już poznaliśmy ogólną zasadę działania (proste, prawda?), spróbujmy zrobić coś nieco bardziej zaawansowanego. Z wykorzystaniem tych 3 funkcji postaramy się zrobić prosty agregator teksu, wykorzystujący 3 różne typy animacji.

Najpierw zacznijmy od szkieletu, którym będzie animacja z fadeIn. Załóżmy, że w dokumencie mamy taką strukturę:

  1. <div class="pojOneFade">
  2.  <div class="pojTop">
  3.   <a href="#" class="fadeOut">Zwiń</a>
  4.   <p>Pierwsza wiadomość</p>
  5.   <a href="#" class="fadeIn">Rozwiń</a>
  6.  </div>
  7.  <div class="clear"></div>
  8.  <div class="pojBottom">
  9.  <p>Treść pierwszej wiadomości demonstrująca w jaki sposób wykorzystać funkcję z biblioteki jQuery <b>fadeIn</b> i <b>fadeOut</b></p>
  10.  </div>
  11. </div>

Pojemnik #pojTop będzie kontenerem na nagłówek wiadomości oraz na przyciski pokazujący i ukrywający resztę wiadomości, znajdującej się w pojemniku #pojBottom. Linkami pokazującymi i zwijającymi będą odpowiednio a.fadeOut oraz a.fadeIn

Teraz aby wprawić to wszystko w ruch, wystarczy podpiąć akcję na kliknięcie w linki:

  1.  $(function(){
  2.  $("a.fadeOut").click(function(){
  3.    $(".pojOneFade .pojBottom").fadeOut('slow');  
  4.   });
  5.  
  6.  $("a.fadeIn").click(function(){
  7.    $(".pojOneFade .pojBottom").fadeIn('slow');  
  8.   });
  9. });

I gotowe! Zobacz przykład animacji w jQuery

A teraz połączmy wszystko w jedno budując jeszcze 2 kontenery na takiej samej zasadzie jak opisany powyżej. Otrzymamy wtedy w dokumencie:

  1. <div class="pojOneFade">
  2.  <div class="pojTop">
  3.   <a href="#" class="fadeOut">Zwiń</a>
  4.   <p>Pierwsza wiadomość</p>
  5.   <a href="#" class="fadeIn">Rozwiń</a>
  6.  </div>
  7.  <div class="clear"></div>
  8.  <div class="pojBottom">
  9.  <p>Treść pierwszej wiadomości demonstrująca w jaki sposób wykorzystać funkcję z biblioteki jQuery <b>fadeIn</b> i <b>fadeOut</b></p>
  10.  </div>
  11. </div>
  12.  
  13. <div class="pojOneSlide">
  14.  <div class="pojTop">
  15.   <a href="#" class="slideUp">Zwiń</a>
  16.   <p>Druga wiadomość</p>
  17.   <a href="#" class="slideDown">Rozwiń</a>
  18.  </div>
  19.  <div class="clear"></div>
  20.  <div class="pojBottom">
  21.  <p>Treść drugiej wiadomości demonstrująca w jaki sposób wykorzystać funkcję z biblioteki jQuery <b>slideUp</b> i <b>slideDown</b></p>
  22.  </div>
  23. </div>
  24.  
  25. <div class="pojOneShow">
  26.  <div class="pojTop">
  27.   <a href="#" class="hide">Zwiń</a>
  28.   <p>Trzecia wiadomość</p>
  29.   <a href="#" class="show">Rozwiń</a>
  30.  </div>
  31.  <div class="clear"></div>
  32.  <div class="pojBottom">
  33.  <p>Treść trzeciej wiadomości demonstrująca w jaki sposób wykorzystać funkcję z biblioteki jQuery <b>show</b> i <b>hide</b></p>
  34.  </div>
  35. </div>

a następnie podpinając do dokumentu funkcje jQuery:

  1. $(function(){
  2.  $("a.fadeOut").click(function(){
  3.    $(".pojOneFade .pojBottom").fadeOut('slow');  
  4.   });
  5.  
  6.  $("a.fadeIn").click(function(){
  7.    $(".pojOneFade .pojBottom").fadeIn('slow');  
  8.   });
  9.  
  10.  $("a.slideUp").click(function(){
  11.    $(".pojOneSlide .pojBottom").slideUp('slow');  
  12.   });
  13.  
  14.  $("a.slideDown").click(function(){
  15.    $(".pojOneSlide .pojBottom").slideDown('slow');  
  16.   });
  17.  $("a.show").click(function(){
  18.    $(".pojOneShow .pojBottom").show('slow');  
  19.   });
  20.  
  21.  $("a.hide").click(function(){
  22.    $(".pojOneShow .pojBottom").hide('slow');  
  23.   });
  24. });

Otrzymujemy wynik działania animacji z wykorzystaniem jQuery

I gotowe. W ten oto łatwy, prosty i przyjemny sposób poznaliśmy podstawy animacji elementów w jQuery. W kolejnej części kursu przyjrzymy się baczniej funkcji animate() oraz toggle(). Dodatkowo a najbliższym czasie pojawi się dodatkowy odcinek opisujący selektory i filtry w jQuery, których znajomość jest niezbędna do swobodnego programowania z wykorzystaniem biblioteki jQuery.

Zapisz się na RSS by dowiadywać się o nowościach w serwisie!Zapisz się na RSS w blog.alchemycode.pl

Related Posts with Thumbnails
Prześlij dalej:
Digg Google Bookmarks reddit Mixx StumbleUpon Technorati Yahoo! Buzz DesignFloat Delicious BlinkList Furl

5 komentarze do “Szybki kurs: godzina dziennie z jQuery #2 – manipulacja elementami”

commenter

hm tak patrze że przykłady nie działają :P

commenter

Nice :) Fakt nie działają :) a tytuł wskazuje na ciekawszą zawartość niż pokazana.

commenter

A powiedzcie jeszcze pod jaką przeglądarką wam nie działa, bo wchodzę – klikam i działa :D

Pewnie „lynks” (tekstowa). Mi wszystko działa. Ciekawy kurs. Bardzo dziękuję i idę dalej.

commenter

A w jaki sposób zrobić to żeby div domyślnie był „zwinięty” ?

Zostaw komentarz:

Imię (wymagane):
Email:
Strona www:
Komentarz (wymagany):
XHTML: W komentarzach możesz korzystać z nastepujących tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
-