Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [js][css] problem z menu na CSS i JS przy przeładowaniu strony
Forum PHP.pl > Forum > Przedszkole
FinniFun
Witam...

Mam problem i kilka opcji rozwiazania go ale żadna nie jest zbytnio "fajna". Jest menu oparte na ol-li. fragment kodu menu w html wygląda tak:
  1. .A ol{
  2. list-style-type:none;
  3. display:block;
  4. }
  5.  
  6. .B ol{
  7. list-style-type:none;
  8. display:none;
  9. }
  10. </head>
  11. <ol id="menu">
  12. <li id="1"><a href=".." onClick="zmienstyl za A na B dla li o id 1">asdfasdf</a></li>
  13. <li id="2"><a onClick="zmienstyl za A na B dla li o id 2">kk</a>
  14. <ol class="B">
  15. <li>asdfasdfasdfas</li>
  16. <li>asdfasdfasdfas</li>
  17. </ol>
  18. </li>
  19. </ol>
  20. </body>
  21. </html>


Samo menu działa na zasadzie że CSS ukrywa i pokazuje dzieci dzieci. A JS na onclick zamienia style...co powoduje ze sie chowa...
I teraz mam problem żeby przy przeładowniau strony...to co zostało rozwinięte pozostało rozwinięte...
Wymyśliłem żeby dokładać do url id tych elementów które były rozwinięte, ale sa duze problemy(masa kodu niepotrzebnego) jeśli do gry wejdą formularze ze swoimi action...moze ktoś juz miał taki problem i go rozwiązał...
PS. Menu wywalane jest z bazy wiec nie ma problemu z ID do każdego elementu menu...

[+] edit
Dodaje tag, aby temat był zgodny z forum Przedszkole,
ponieważ już padły odpowiedzi. Na przyszłość proszę
pamiętać o tym, inaczej temat zostanie zamknięty.
---
~strife
artur81
a nie możesz dać jakiejś klasy w CSS'ie dla elementu który ma być rozwinięty i w np GET'em przenosić dane pomiędzy stronami?
Kiedyś napisałem coś takiego, może ten fragment Ci trochę pomoże:
  1. <div id="menu">
  2. <div id="p7swapmenu">
  3. <ul>
  4. <?php 
  5. require_once('polacz_z_baza.php');
  6. $sql = "select * from `plkategorie`;";
  7. $uchwyt = mysql_query($sql);
  8. while ($rek = mysql_fetch_assoc($uchwyt)) {
  9. $id_kat = $rek['idkatpl'];
  10. $nazwa = $rek['nazwakatpl'];
  11. if ($id_kat != $otwarta_kategoria) { //czy kategoria powinna zostać otwarta -- Nie powinna
  12.  print "<li id="p$id_kat" class="closed"><a href="#" onclick="P7_swapClass(1,'p$id_kat','open','closed','li');return false">$nazwa</a>
  13. <ul>"; 
  14. } else { //kategoria powinna zostać otwarta
  15.  print "<li id="p$id_kat" class="open"><a href="#" onclick="P7_swapClass(1,'p$id_kat','open','closed','li');return false">$nazwa</a>
  16. <ul>"; }
  17.  
  18.  
  19.  
  20. $sql2 = "Select * from plalbumy where idkatpl= '$id_kat';";
  21. $uchwyt2 = mysql_query($sql2);
  22. while ($rekord2 = mysql_fetch_assoc($uchwyt2)) {
  23. $id_alb = $rekord2['idalbpl'];
  24. $id_kat2 = $rekord2['idkatpl'];
  25. $nazwa2 = $rekord2['nazwaalbpl'];
  26. if ($id_alb != $otwartyalbum) {
  27. print '<li><a href="g.php?a='.$id_alb.'&z=0&k='.$id_kat2.'">'.$nazwa2.'</a></li>';
  28. }
  29. else
  30. {
  31. print '<li ><a class="otwarty" href="g.php?a='.$id_alb.'&z=0&k='.$id_kat2.'" >'.$nazwa2.'</a></li>';
  32. }
  33. } //koniec while albumy w kategoriach
  34.  
  35.  echo '</ul></li>';
  36.  
  37.  } // koniec while kategorie
  38. ?>
  39. </ul>
  40. </div>
  41. </div>



Forum wyescepowało cudzysłowy, ale z grubsza jest wszystko czytelne
FinniFun
moge...ale jak dodawac...cos do geta jelśli np rozwine jakis element.
Pozatym w gecie to jest problem z urlem bo get wyczysci cały url do nazwy pliku i rozszerzenia w przypadku wysłania formularza(chodzi o form method='get')
php programmer
W JS można operować na ciasteczkach,
gdzieś nawet widziałem gotowe funkcje typu
UstawCiastko(), CzytajCiastko(),
więc przy rozwinięciu menu można by zapamiętać stan menu
w jakimś ciastku a przy odświeżeniu strony odczytać ciastko
także w JS
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.