Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [jQuery] addClass i removeClass w rozwijanym menu
john_doe
post
Post #1





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

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


Witam,

mój problem jest tutaj

http://jsfiddle.net/agwFv/7/


chciałbym oznaczać element menu w który kliknięto.
Wiem, że jeszcze brakuje usuwania klasy ale dlaczego nie dodaje mi "current" ?

Ten post edytował john_doe 4.10.2011, 22:27:13
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
john_doe
post
Post #2





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

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


racja zegarek, dzięki.

rozwiązanie
jsFiddle

tak by nie zakładać nowego wątku.

cała akcja z tym postem okazała się pudłem kurcze.

system nad którym pracuję po kliknięciu w menu przeładowuję stronę, więc to rozwiązanie nie zakosi.
Jak rozwiązujecie taki temat pokazaniu aktywnego li gdy strona jest przeładowywana?

Go to the top of the page
+Quote Post
zegarek84
post
Post #3





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

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


Cytat(john_doe @ 6.10.2011, 09:46:12 ) *
system nad którym pracuję po kliknięciu w menu przeładowuję stronę, więc to rozwiązanie nie zakosi.
Jak rozwiązujecie taki temat pokazaniu aktywnego li gdy strona jest przeładowywana?

nie doprecyzowałeś o co konkretnie chodzi - dla przykładu jeśli dane chciałeś pobierać ajax'em i nie chciałeś, żeby strona przechodziła do klikniętego linku to mogłeś zwrócić false w nasłuchiwanej funkcji lub skożystać z jQuer'owego .stopPropagation...

jeśli z kolei masz tam jakiś system, że nie ważne na jaką stronę ktoś z internetu wejdzie to możesz jakoś po id czy inaczej przeszukać wszystkie linki i dodać klasę active... lub jak w ogóle nie masz pomysłu jak "routing" na linki rozwiązać podczas ładowania strony (różne adresy) to musisz sobie porównać pełne rozwinięcie linku z obiektem document.location, a dokładniej z jego własnością .href oraz jeśli potrzebujesz to też .hash

przez pełne rozwinięcie linku mam na myśli adres na jaki wskazują, i tak pusty link wskazuje dokładnie na tą samą stronę (bodajże nawet przy ustawionym base w HTML'u), pusty link ale z hashem wiadomo... i jeśli linki masz względne to pełny ich adres jest albo względem aktualnej strony albo w zgledem ustawionego tagu base na stronie... i właśnie podczas ładowania strony wystarczy porównać te adresy dla dokładnego porównania z hashem lub mniej dokładnego gdyż ta sama strona i można by słabszy active ustawić bez hasha...

a jeśli masz jeszcze zagłębienia menu i chciałbyś też zaznaczyć, że jest się w jakiejś kategorii (gdzie aktualna strona jest podkategorią i linki w zasadzie są jakby różne) to musisz ustalić odpowiednią sobie strukturę drzewa zależności - mając link aktualnej strony który znalazłeś po adresie możesz zacząć szukać w górę wg zależności dziecko->rodzic (nie mam na myśli zależności DOM gdyż linków nie powinno się zagnieżdżać w sobie - chyba, że HTML5 coś zmienił)

musiałbyś bardziej zobrazować/wyjaśnić o co chodzi, ale sądzę, że to co napisałem powinno rozwiązać Twój jeden lub drugi problem...

ps. jeszcze sobie przypomniałem o pseudoklasie :target - jeśli każdy link ma też hash'a i elementy na stronie będą miały id (name chyba też może być po staremu) ten sam co hash to definicja dotyczy tych elementów... jest też biblioteka dzięki której ta pseudoklasa działa także na ie starszych od 9 (wpisz w google: js ie7) http://ie7-js.googlecode.com/svn/test/target.html#bananas

Ten post edytował zegarek84 6.10.2011, 10:05:06
Go to the top of the page
+Quote Post

Posty w temacie


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: 9.10.2025 - 11:44