Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [jQuery] efekt płynnego przesunięcia tekstu menu
john_doe
post
Post #1





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


Witam,

jak uzyskać efekt, menu opartego o listę <ul>, najazdu tak aby tekst przejechał np. o 20px w lewo a po zjechaniu powrócił na swoje miejsce. coś jak tutaj
klik

pozdro
Go to the top of the page
+Quote Post
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Do wyboru do koloru: http://api.jquery.com/slideToggle/ lub http://api.jquery.com/animate/ pewnie jeszcze z kilka by się znalazło możliwości na animacje w jquery.
Go to the top of the page
+Quote Post
john_doe
post
Post #3





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


jsFiddle

coś tu nie śmiga (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
by_ikar
post
Post #4





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

Ostrzeżenie: (0%)
-----


Generalnie to w swoim przykładzie zjadłeś nawias, oraz użyłeś funkcji hover która nie do końca działa tak jak w przypadku css. Działa również tak jak w przypadku css, ale wówczas trzeba podać jej jakby 2 argumenty, pierwszy ten który coś wykonuje po najechaniu (coś w rodzaju onmouseover) i drugi argument który wykonuje coś po zabraniu kursora z obiektu (coś w rodzaju onmouseout). Kolejna sprawa, to użyłeś left: -=50px a co dosłownie odejmuje za każdym razem co najdziesz na obiekt atrybut css "left" tyle że podaje się go w przypadku pozycjonowania absolutnego/relatywnego/fixed. Więc nawet jeżeli byś wrzucił ten nawias do swojego przykładu to nie zauważysz żadnych zmian. Żeby przesunął się tekst, najlepiej użyć padding. Tutaj masz gotowca: http://jsfiddle.net/v5Rhp/18/
Go to the top of the page
+Quote Post
john_doe
post
Post #5





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

Ostrzeżenie: (0%)
-----


super. Dokopałem sie do jakiegoś mojego kodu gdzie używałem hover i rzeczywiście trzeba również podać co się stanie jak zjedziemy. niemniej jednak dla left i tak nie poszło

dzięki bardzo
Go to the top of the page
+Quote Post
mokry
post
Post #6





Grupa: Zarejestrowani
Postów: 374
Pomógł: 23
Dołączył: 3.06.2006
Skąd: Katowice

Ostrzeżenie: (0%)
-----


to co podał @by_ikar jest jak najbardziej ok, ale ma jedną wadę - jeżeli przejedziesz kursorem po linkach wielokrotnie będą one sobie pływać tyle razy ile najechałeś pomimo, że kursor będzie już gdzie indziej. Proponuję dodać jeszcze funkcję stop().

Przykład na podstawie kodu @by_ikar:
  1. $("#main-nav li a").hover(
  2. function () {
  3. $(this).stop().animate({ paddingRight: "25px" }, 200);
  4. },
  5. function () {
  6. $(this).stop().animate({ paddingRight: "15px" });
  7. }
  8. );


Podgląd: http://jsfiddle.net/v5Rhp/21/

Ten post edytował mokry 15.11.2011, 22:15:30
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 06:11