![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 6.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
w panelu administracyjnym systemu który obecnie pisze, korzystam z formularzy i innych elementów strony posiadających "display=none" i pokazujących się dopiero po kliknięciu w jakiś link. Chciałbym żeby przy rozwinięciu którejś opcji, ta poprzednio otwarta się chowała. Jak to zrobić najlepiej? Możnaby chować wszystkie elementy posiadające zdefiniowane 'id' o obojętnej wartości (jak?). Tu pojawia się problem z planowanym wprowadzeniem CSS'a... wtedy chowała by mi się większość strony... jak to rozwiązać lepiej? Zaznaczam, że w javascripcie jestem zielony. -------------------- hardware: HP Compaq 6720s
software: ArchLinux, 2.6.29, KDE 4.3 beta 2, Kate |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 589 Pomógł: 91 Dołączył: 22.05.2008 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Zrobić sobie obiekt do tego celu.
W jednej właściwości będzie przechowywany aktualnie otwarty element (lub jego id). Metoda close() zamykająca aktualnie otwarte, oraz metoda open() w której najpierw jest wywołana metoda close() a później "otwierany" jest element podany jako parametr. -------------------- Moja gra - scraby.io
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
A po co?
Jest przecież selektor: warstwa:visible [; -------------------- ![]() 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
#4
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 6.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pomysł dobry, dziwie sie, że wcześniej nie wpadlem na to... ale jak zrealizowac? chcialem podobnie na 'zmiennych' (przypominam ze w java scripcie jestem zielony i nawet nie wiem czy sie dobrze do tego zabieralem.
Mialem taki kod: Probowalem zrobic to tak:
ale oczywiscie nie dziala... o obiektach nic nie wiem niestety. Ten post edytował Edpl 20.06.2009, 22:11:38 -------------------- hardware: HP Compaq 6720s
software: ArchLinux, 2.6.29, KDE 4.3 beta 2, Kate |
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ja to robię mniej więcej tak. Załóżmy takie menu:
<dd/> zawiera treść, są domyślnie ukryte. Teraz JS: Kod $('dl dt').click(function(e){ e.preventDefault(); $(this).parent() .find('dd:visible').slideUp() .end().next().slideDown(); } Przyznam, że ostatnio spodobały mi się konstrukcje bazujące na uchwytach zdarzeń (e), o tym poczytaj gdzieś, gdzie opisany jest DOM; IMHO to dużo bardziej eleganckie rozwiązanie niż zwykłe return false. Co dalej? Bieżący uchwyt, to kotwica rozwijająco-chowająca, czyli wyzwalacz zdarzeń. Po kolei: wskakuje na poziom rodzica i wyszukuje w nim wszystkie widoczne warstwy treści, po czym je zwija. Następnie wraca "do siebie" (za pomocą czego, to sprawdź w dokumentacji) i szuka swojego sąsiada, którego rozwija. [; Jak widzisz, całego potworka można zapisać w postaci wywoływania metod łańcuchowych obiektu jQuery i m.in. dlatego jest on taki za...jefajny. [; A jak to dostosować do Twojego kodu? Zadanie domowe. [; -------------------- ![]() 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
#6
|
|
Grupa: Zarejestrowani Postów: 20 Pomógł: 0 Dołączył: 6.05.2006 Ostrzeżenie: (0%) ![]() ![]() |
a ja jednak pierwszy pomysł doprowadziłem do działania;)
Twój sposób erix był zbyt niezrozumiały dla kogoś kto w ogóle się nie interesuje javascriptem, bo używa go naprawde sporadycznie;) mój kod wygląda tak:
-------------------- hardware: HP Compaq 6720s
software: ArchLinux, 2.6.29, KDE 4.3 beta 2, Kate |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Twój sposób erix był zbyt niezrozumiały dla kogoś kto w ogóle się nie interesuje javascriptem, bo używa go naprawde sporadycznie;) Po przeczytaniu kursu JavaScript, pobieżnym przejrzeniu dokumentacji DOM nie powinno być problemów. [; -------------------- ![]() 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! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 09:52 |