![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 18.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie,
Chciałem stworzyć sobie na stronie wielopoziomowe rozwijane menu oparte na znacznikach ul i li. Mam jednak problem, gdyż rozwija mi się tylko pierwszyy poziom drzewa, następnego nie mogę otworzyć żadnym sposobem. Wiem, że pewnie nie jest to super trudne ale uczę się dopiero JS i byłbym wdzięczny jakąkolwiek pomoc. Podaję to co mam, nie jest tego za dużo, ale zawsze coś:
Najpierw ukrywam wszystko, a potem za pomocą toggle() ukrywam/pokazuje potomka, problem w tym, jak mam "złapać" potomka potomka? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Kod not($(this).children("ul").toggle()) Nie bardzo rozumiem co ten fragment ma robić… |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 270 Pomógł: 184 Dołączył: 7.10.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
https://jsfiddle.net/tyjp7rw5/1/
Przydalo by sie tu dodac lvl i podmiane po kliknieciu ale to zostawie juz Tobie (IMG:style_emoticons/default/wink.gif) Ten post edytował rad11 18.05.2015, 20:07:34 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
@rad11 przekombinowane. Poza tym nie zachowujesz struktury drzewka.
Można to łatwo oprzeć na event delegation: https://jsfiddle.net/Comandeer/89pLuu3L/5/ |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 270 Pomógł: 184 Dołączył: 7.10.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Fakt (IMG:style_emoticons/default/wink.gif)
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 18.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Super, działa prawie tak jak chciałem z tą różnicą, że u Ciebie Comandeer menu rozwija się również jak kliknę "A", u mnie natomiast tylko jak trafię na znak punktora.
Jakieś sugestie? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
A masz jakieś span czy coś wewnątrz tego li?
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 18.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Poczytam bo to pewnie coś w css. Dzięki za pomoc (IMG:style_emoticons/default/smile.gif) EDIT: Usunąłem wszystkie style i wciąż rozsuwanie nie działa gdy nacisnę na tekst, wie ktoś dlaczego? Mam w środku tego <li> jeszcze <a> ale puste, bo w taki sposób w Wordpressie uzyskałem efekt rozwijanego menu, znaczy dodaje stronę i usuwam z niej adres, potem podpinam pod nią inne podstrony i mam strukturę drzewa jednak znacznik <a> pozostaje. Macie może jakiś pomysł? Ten post edytował Leon1409 19.05.2015, 13:54:01 |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Jeśli w tym li jest a, to klikając na tekst klikasz na link, a nie element listy. Z tego powodu mój skrypt nie działa. Musisz sprawdzać czy e.target to li - jeśli nie, to pobierz jego rodzica i wówczas powinno działać
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 18.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Raczej coś typu:
Kod var target = $(e.target) ,li = target.is('li') ? target : target.parent('li'); li.children('ul').toggle(); |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 18.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 1 268 Pomógł: 254 Dołączył: 11.06.2009 Skąd: Świętochłowice Ostrzeżenie: (0%) ![]() ![]() |
Tsk, zamiast nich.
|
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 18.05.2015 Ostrzeżenie: (0%) ![]() ![]() |
Dobra wielkie dzięki za zaangażowanie, wszystko działa jak chciałem:)
A gdybym chciał zrobić coś takiego, że każdy z elementów jest linkiem prowadzącym do konkretnej podstrony a po przejściu i wczytaniu podstrony widoczne zostają jego dzieci( czyli ta gałąź zostaje rozwinięta) W ogóle to co możecie polecić do nauki js? Jakieś tutoriale i kursy online czy raczej zaopatrzyć się w jakąś lekturę papierową? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 14:03 |