![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 11 Dołączył: 12.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie,
Taki trywialny problem napotkałem podczas pisania kodu: Mam menu tak wyglądające: Menu1 - SubMenu1 -- SubSubMenu1 - Submenu2 Menu2 itd... Po kliknieciu na Menu1 rozwija się lista SubMenu danego działu. Po kliknięciu na SubMenu1 rozwija się kolejne podmenu - w tym przypadku pokaże się tylko SubSubMenu1. Typowe menu drzewiaste (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Do tej pory jest wszystko w porządku tylko jak kliknę w jakiś link (np. SubMenu2), to po przeładowaniu stronki chce mieć rozwinięte podmenu działu Menu1 i wyróżniony kliknięty link. Znalazłem cos o nazwie dojoTree, ale to setki linijek kodu. Pytanie brzmi jak zrobić to w łatwiejszy sposób? Mam nadzieję że nie zamotalem. Ten post edytował Lombi 24.10.2008, 15:06:14 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 592 Pomógł: 445 Dołączył: 12.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
W adresie przekazuj id menu (tak, że każde menu, submenu ma swój unikalny id) i przy generowaniu menu na danej stronie sprawdzaj czy dana gałąź menu jest ta, która jest w adresie, jeśli tak, dopisz jej klase css oznaczającą, że dane menu to jest te aktywne.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 213 Pomógł: 39 Dołączył: 7.04.2008 Skąd: 3city Ostrzeżenie: (0%) ![]() ![]() |
gdyby subMenu2 miało jakiś związek z SubSubMenu1, np było jego "dzieckiem", to wtedy js w połączeniu z php "przedpiszcy" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ładnie by Ci rozwijało wszystko. ale SubMenu2 nie jest dzieckiem ani rodzicem subsubMenu1, więc nadanie klasy pomoże nam tylko wyróżnić aktywną stronę. a rodzeństwa może być więcej niż dwoje.
wpadłem na taki pomysł, że: możesz oprócz przekazywania id aktywnej podstrony zrobić w css'ie że każdy link odwiedzony jest display: block, każdy nieodwiedzony i znajdujący się wewnątrz drzewa (nie będący na samej górze) ma display: none. za pomocą js ustawiać co dzieje się z rodzicami linka który ma display: block (lub który jest visited). to chyba jest jakieś wyjście. najlepiej jednak by było ładować treść do div'a obok meu bez przeładowania strony. edit: może nie display: none, ale position: absolute; left: -999em i nie display: block, ale: position: relative; left: auto; i nie mam mozliwości sprawdzenia jak ie sobie z tym radzi Ten post edytował hiszpanespaniol 25.10.2008, 10:40:43 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 237 Pomógł: 11 Dołączył: 12.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
Jej ale mam zaćmienia. Sposób Vokiela śmiga aż miło. Dzięki za zainteresowanie.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 05:08 |