Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z menu i slideToggle();
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Szymciosek
Witam,
posiada takie menu http://jsfiddle.net/LmX7D/

niby działa, ale nie tak jak chcę, bo po kliknięciu na Item 1 a/b/c zwija się wszystko, a powinno być tak, że po kliknięciu zwija się cała reszta, a rozwinięty zostaje Item 1.

Wzorowałem się na tym i praktycznie to samo zrobiłem, ale nie wiem co jest nie tak: http://www.designchemical.com/blog/index.p...accordion-menu/

Proszę o pomoc.

Poprawiłem, ale teraz nie wiem jak dostać się do elementów submenu http://jsfiddle.net/cXkBr/ tak żebym mógł im dać klasę active.

Dodatkowo chciałbym jeszcze zrobić coś takiego żeby rozpoznawało np link, z którego wchodzę i na tej podstawie automatycznie rozwijało i zaznaczało mi konkretny active.


EDIT::
Progress: http://jsfiddle.net/qvbGr/

aczkolwiek czy nie jest mylące to, że klikając najpierw Kontakt (jesteś w dziale kontakt) -> klikamy w dział Item1 - niech to będzie Galeria i tutaj zdziwienie, bo zaznaczone jest Item1, a jesteśmy w kontakt, no chyba, że na tym świecie nie ma takich tępaków i wiedzą, że skoro coś się rozwinęło, to jest coś do wyboru?
com
No tak działą menu i to każdy powinien wiedzieć wink.gif
mozna też w CSS3 bez js :
http://jsfiddle.net/SMUxJ/2/
tylko trzeba by tam jescze dodać CSS Transitions żeby było to bardziej płynne wink.gif
Szymciosek
W sumie spoko wygląda nawet w CSS3, a czy byłbyś w stanie tak to ogarnąć w js żeby automatycznie działało z każdą ilością sub pages?

No i żeby to działało na tej zasadzie jak u mnie na simonmedia.gtbase.pl
com
tzn chodzi Ci o kolejne poziomy ? bo nie bardzo rozumiem tego pytania wink.gif chyba że nie miało tam być js tylko css ? biggrin.gif
Szymciosek
Tak jak widzisz na stronie jest tylko Galeria i kolejny poziom np. Motoryzacja, ale chciałbym dodać kolejny level do tego czyli Galeria>Motoryzacja>Samochody

Z tym, że nie chcę robić tego na sztywno, chcę żeby skrypt wiedział, kiedy jest jakiś parent (czyli rodzicem dla Motoryzacja jest Galeria) i automatycznie to zwijało itd.

Dodatkowo chciałbym aby na podstawie linku czyli: simonmedia.gtbase.pl/galeria/motoryzacja - chodzi o /galeria/motoryzacja automatycznie rozpoznawało, gdzie jest, czy takie submenu się znajduje na stronie i jeśli tak, to zrobić z tego (Motoryzacja) active menu oraz rozwinąć parent.
com
no to motoryzacja jest dzieckiem rodzica czyli children() i każdy poziom rodzica jakos onaczysz wink.gif
a co do drugiej kwesti to musisz poprostu wyciagać nazwy z adresu i potem ajaxem podmienaic konkretne tresci na stronie mozesz sie wzorwać na tym http://graffika.pl/viewtopic.php?f=58&t=16739 ja mam swój autorski skrypt do tego ale on był przystosowany pod konkretne dziłanie wiec tu bym musiał go przerobić wink.gif

btw zły adres dałeś ale widziałem w innym poscie biggrin.gif
Szymciosek
No właśnie jak? Minęło kilka godzin zanim wymyśliłem jak zrobić oczywiście z przykładu z jakiejś strony, a później dodawanie zmian.

Czy mógłbyś zrobić jakiś przykład z tym?

Co do ajax, to chyba zbędny jest... bo treści są ładowane z bazy na podstawie uri, a tutaj chodziło tylko o menu żeby na podstawie uri wyświetliło się odpowiednio.

Myślę, że z pomocą przyjdzie mi treeview.
com
no chyba tak, w zasadzie to mam to tylko problem jest cos z tym zwijaniem, a tam to działa wiec myśle że treeview bedzie lepszym rozwiazanie... a co do ajaxa to na tej samej zasadzie można wyciagac i rozwijac pozycje w menu wink.gif
Szymciosek
Na razie pobawię się z tym treeview i zobaczę co z tego wyjdzie.

Tylko mam problem, bo muszę w linku w treeview przekazywać przez ?asd
com
no na to wychodzi ze tak bo tak tam parametry sa przekazywane do tego menu czyli twoje podstrony... ale wtedy przy tym działa to, że jak wejdziesz na te wartosc z parametru to ci sie rozwinie.. mozna by to zmodyfilkowac pod # ale to by było troche zabawy z tym jquery.treeview.js wink.gif
Szymciosek
No właśnie przeglądałem ten plik i nic takiego nie znalazłem żeby było coś wspomniane o "?", a przydałoby się bardzo, ale znowu # też mnie nijak ratuje, bo ja nie chcę mieć niczego w linku tylko czysty:
www.simonmedia.gtbase.net/galeria/motoryzacja
com
no to sprobuj moze przejdzie mod_rewrite wink.gif powinno zadziłać ale głowy nie daje... bo kiedyś przy czyms podobnym jednak jq nie widziało tego...
Szymciosek
http://www.jstree.com/
jeszcze tutaj coś znalazłem, ale strona mi nie działą...
com
to pierwsze chyba było lepsze, i działa z mod_rewrite to smile.gif
przykład
.htaccess
  1. Options FollowSymLinks
  2. RewriteEngine On
  3.  
  4. RewriteRule ^galeria$ ?1 [L]
  5. RewriteRule ^galeria-motoryzacja$ ?1.0 [L]

Oczywiscie mozna to generować dynamicznie to tylko przykład wink.gif

wtedy w linku masz ./galeria itd jedynie te podkategorie nie moga miec tak jak chciales / bo css sie traci wink.gif dlatego dałem - wink.gif
Szymciosek
Możesz spojrzeć na to: http://www.webstutorial.com/jquery-treeview-list/jquery ?
I powiedzieć mi jak dodać tam chowanie pozostałych parent jeśli klikam na inne. Czyli tak jak teraz jest u mnie, klikam na kontakt -> zwija mi się galeria.

Edit::
http://jsfiddle.net/UJQTK/1/

Udało mi się do tego momentu, ale za nic nie mogę teraz zamknąć tego, czyli jak sobie rozwinę galeria > ludzie > i kliknę na biali, jest ok, ale gdy kliknę na motoryzacja, to ludzie powinni się zwinąć i tak samo jak klikam z ludzie na home, to galeria się zwija.

Ps. Bez urazy za podział ludzi w galerii, ale nic na szybko nie przyszło mi do głowy.
com
ja uzyskałem właśnie ten sam efekt, właśnie w tym tkwi problem że on nie zwija potem tego co już rozwinął dlatego napisałem ze to co znalazłeś było dobre... bo tam to wykożystuje jeszcze ciasteczka w których pamieta co rozwinął i potem to chowa wink.gif no i jest uniwersalne dla wielu poziomów wink.gif
Szymciosek
No tak, tylko że widzisz: http://jquery.bassistance.de/treeview/demo/ tutaj jest przykład treeview, example 3 korzysta z cookie, po zmianie <span> na <a> skrypt przestaje działać...
com
przykład 2 jest ok wink.gif
Szymciosek
Chodzi o example2? Korzysta z tego czegoś, co wymaga w linku "?"
com
no tak ale napisałem Ci tam wyzej jak to "obejść" używajać php wink.gif tzn jak zamienic w adresie ?cos na napis który chesz wink.gif
Szymciosek
Dla chcącego nic trudnego: http://jsfiddle.net/UJQTK/9/
Kolejny problemik z tym jest taki, że jak rozwinę wszystko do końca, to klikając np. na motoryzacja nie zwijają się ludzie, a powinni.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.