![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 21.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam wszystkich,
Mam problem z funkcją .hover odpowiedzialną za animowanie przycisku na stonie. Załącze najpierw kod jQuery:
Jak widać, funkcja w prosty sposób animuje przycisk podczas .mouseenter a podczas .mouseleave wykonuje tę samą animację od końca (przycisk sie rozsuwa i zsuwa). Wszystko działa poprawnie dopuki nie kliknę na przycisk. Po kliknięciu zmienia się strona (przycisk zostaje w tym samym miejscu i ma te same właściwości) lecz przycisk bez animacji wraca do stanu spoczynku, a kiedy z niego "zjadę" włącza się animacja z .mouseleave (która jest tak jakby urwana bo powinna następować dopiero po zaanimowaniu .mouseenter). Chciałbym, żeby po kliknięciu przycisk nie wracał do stanu spoczynku tylko zostawał rozsunięty. Na wszelki wypadek załaczam także fragment html i css.
Z góry dzieki za pomoc! Pozdrawiam emilg
Powód edycji: [thek]: Na przyszłość używaj własciwego bbcode!
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 654 Pomógł: 121 Dołączył: 27.10.2007 Skąd: Poznań, Łódź Ostrzeżenie: (0%) ![]() ![]() |
Skoro korzystasz z jquery to czemu animację wykonujesz poprzez SetTimeout a nie jquery.animate?
Pozdrawiam -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 21.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Nie używam .animate bo nie jestem jakims fachowcem jezeli chodzi o jQuery i JS, zadużo bym sie musiał namęczyć żeby otrzymać zamierzony efekt. Mam po prostu 5 klatek animacji w spricie i wyświetlam je po kolei
![]() Dzięki za jakikolwiek odzew ![]() ![]() |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 654 Pomógł: 121 Dołączył: 27.10.2007 Skąd: Poznań, Łódź Ostrzeżenie: (0%) ![]() ![]() |
Masz to dostępne gdzieś online?
-------------------- |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 21.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki za chęć pomocy.
Wrzuciłem na republikę. Link Proszę się nie sugerować wyglądem ani treścią. Postanowiłem na początku zająć się techniczną częścią strony a treść i grafikę zrobić na końcu. Pokopiowałem więc losowe treści z wikipedii i zrobiłem w 5 minut byle jakie grafiki w gimpie, żebym tylko miał na czym pracować ![]() Pozdrawiam! |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 654 Pomógł: 121 Dołączył: 27.10.2007 Skąd: Poznań, Łódź Ostrzeżenie: (0%) ![]() ![]() |
Istnieją 2 rozwiązania Twego problemu:
1. W skrypcie php wykrywasz, który element menu ma być aktywnym i dodajesz do niego odpowiednią definicję pozycji background w atrybucie style 2. Zapisujesz każdy krok animacji jako osobną klasę w pliku css. Wtedy w poszczególnych klatkach animacji nie modyfikujesz background-position tylko nadajesz odpowiednia klasę. Ponadto klasa, która będzie miała background-position: -640px, 0 przypisujesz do aktywnego elementu menu. Mam nadzieję, iż nie namieszałem - jak będziesz miał problem ze zrozumieniem idei to postaram się wrzucić jakiś kod Pozdrawiam -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 21.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
Sposób nr 1 odpada bo nie mam zielonego pojęcia na temat php i nie chciałbym wsadzać na stronę czegoś czego nie rozumiem. Poza tym wolałbym utrzymac całość w konwencji html/css/js.
Sposób numer dwa jest dla mnie zrozumiały tylko pojawiają się dwa pytania. Czy to nie obciąży zbyt strony? Kod na każdy przycisk wydłuży mi się o ładne kilka linijek. Poza tym, linkiem w moim przypadku jest cały div. Co po kliknięciu na niego dostaje klasę active? Próbowałem różnych kombinacji w arkuszu aby to sprawdzić i nie udało mi się nic dowiedzieć. Jeśli wiedziałbym co dostaje klasę active, mógłbym z poziomu css dopisać, że elementy klasy active maja background-position: -640px Dzieki i pozdrawiam! emilg Ten post edytował emilgojny 21.07.2011, 10:05:37 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 654 Pomógł: 121 Dołączył: 27.10.2007 Skąd: Poznań, Łódź Ostrzeżenie: (0%) ![]() ![]() |
Skoro nie używasz php to rozumiem, iż posiadasz osobne pliki html do każdego elementu menu. Jeśli tak to wystarczy wpisać na stałe w kod html pozycji background. Przykładowo dla strony oferta.html
Pozdrawiam Ten post edytował askone 21.07.2011, 10:47:02 -------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 21.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
No rzeczywiście, to chyba najprostsze rozwiązanie
![]() Dzieki i pozdrawiam |
|
|
![]()
Post
#10
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ale to rozwiązanie jest niesemantyczne. Po co mieszać styl z HTML w tym przypadku? Jedyny sens, to gdyby było ustalane przez użyszkodnika tło.
Dużo lepszym rozwiązaniem jest tu użycie data:
Bez kombinowania. [; -------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 21.07.2011 Ostrzeżenie: (0%) ![]() ![]() |
A mógłbym prosić o jakiś dokładniejszy opis co zrobić z tym .data i gdzie to umieścić?
Dzieki i pozdrawiam emilg |
|
|
![]()
Post
#12
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Czego nie rozumiesz?
-------------------- ![]() ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 11:41 |