Autor | Zpráva | ||
---|---|---|---|
Ecko Profil * |
Dobry mam script na zobrazovavania menu
<script> function menuzobraz(idecko){ el=document.getElementById(idecko).style; el.display=(el.display == 'block')?'none':'block'; } </script> ale ak ho zobrazim a prejdem na inu stranku tak sa zatvori ako docielit ak sa otvori tak aby sa nezavrelo pri zmene podstranky? Moderátor Chamurappi: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou a s interpunkcí.
|
||
fajzen Profil |
#2 · Zasláno: 22. 1. 2010, 10:10:34 · Upravil/a: fajzen
Ecko:
stav by sa dal uložiť do cookies a pri načítaní stránky by sa potom z cookies vybral. Neviem, či sa zobrazuje/skrýva celé menu alebo či má menu niekoľko položiek, ktoré majú podpoložky a tie sa zobrazujú/skrývajú. Skript sa dú použiť pre obe možnosti, aj keď pre prvú možnosť by sa to dalo spraviť jednoduchšie: <head> ... <script> var pref = 'menu_'; function menuzobraz(idecko){ el=document.getElementById(idecko).style; el.display=(el.display == 'block')?'none':'block'; document.cookies = pref + idecko + '=' + el.display + ';'; } function init() { var start = 0, end, el, display; while(true) { start = document.cookie.indexOf('menu_', start); if(start == -1) break; start += pref.length; end = document.cookie.indexOf('=', start); el = document.cookie.substring(start, end); start = end + 1; end = document.cookie.indexOf(';', start); display = document.cookie.substring(start, end); if(document.getElementById(el)) document.getElementById(el).style.display = display; start = end + 1; } } </script> </head> <body onload="init();"> ... |
||
Ecko Profil * |
#3 · Zasláno: 23. 1. 2010, 12:47:15
Nieako mi to nechce ist vlozil som to tam cele ako si dal
takto otvaram menu: <li id="menu"><a href=# "onClick=menuzobraz("menu1"); return false;">» Online knihy</a></li>'; |
||
Ecko Profil * |
#4 · Zasláno: 23. 1. 2010, 12:49:54
A je to iba pre podmenu dalsie podmenu už niesu to "ciastocne menu" je v div a podla toho sa skriva azobrazuje
|
||
fajzen Profil |
#5 · Zasláno: 23. 1. 2010, 14:59:49
Ecko:
nerozumiem... bolo by možné sem dať odkaz na živú ukážku alebo aspoň väčší kód toho menu? |
||
Ecko Profil * |
#6 · Zasláno: 23. 1. 2010, 15:49:46
class kategorie { var $inc; function showKategorie(){ echo "<div id='menu1' class='nezobraz'><h3><span>K</span>ategorie knih</h3> "; $this->query=mysql_query("SELECT * FROM kategorie LIMIT 5"); echo "<ul> "; while($this->result=mysql_fetch_array($this->query)){ echo "<li id='menu'><a href=\"?action=kategoria&k=".$this->result["id"]."\">".$this->result["nazov"]."</a></li> "; } echo " <li id='menu'><a href=\"/?action=kategorie\">Viac kategorii...</a></li>"; echo "</ul> "; } } class autori { var $inc; function showAutori(){ echo "<h3><span>A</span>utori knih</h3> "; $this->query=mysql_query("SELECT * FROM autori LIMIT 5"); echo "<ul> "; while($this->result=mysql_fetch_array($this->query)){ echo "<li id='menu'><a href=\"?action=autor&k=".$this->result["nazov"]."\">".$this->result["nazov"]."</a></li> "; } echo " <li id='menu'><a href=\"/?action=autori\">Viac autorov...</a></li>"; echo "</ul></div> "; } } Tu to ams je to proste iba v dive menu1 a ak zobrazujem alebo skrivam pouzivam <li id="menu"><a href=# "onClick=menuzobraz("menu1"); return false;">» Online knihy</a></li> |
||
fajzen Profil |
#7 · Zasláno: 23. 1. 2010, 16:09:52 · Upravil/a: fajzen
Ecko:
noo, jedna chyba je v tom zápise odkazu, na ktorý sa kliká pre zobrazenie/skrytie divu, má byť: echo '<li id="menu"><a href="#" onClick="menuzobraz(\'menu1\'); return false;">» Online knihy</a></li>'; ak to nie je tým, tak neviem, nemám z tohto ako zistiť, kde je problém... všimol si si, že v tagu body je onload="init();"? |
||
Ecko Profil * |
#8 · Zasláno: 23. 1. 2010, 20:15:29
ano ano všimol no zmenil som to a stale to nefunguje... nevieš prečo?
|
||
fajzen Profil |
#9 · Zasláno: 23. 1. 2010, 23:39:37
Ecko:
neviem, skús do funkcie init() niekde na začiatok vložiť alert(document.cookie); potom choď na tú stránku, klikni iba na ten odkaz na zobrazenie divu s id="menu1", potom prejdi na ďalšiu stránku a ak sa ti objaví varovné okno a niekde v texte bude menu_menu1=block, tak je chyba niekde inde... ale najlepšie by bolo, keby si sem mohol dať odkaz na živú ukážku |
||
Ecko Profil * |
#10 · Zasláno: 23. 1. 2010, 23:45:36
Vystraha vyskoci ale v texte nie je ten text cize cookie sa nezapiše ak dobre si myslim?
www.ecko.hostujem.sk |
||
fajzen Profil |
#11 · Zasláno: 24. 1. 2010, 07:42:36
Ecko:
áno je to moja chyba, ospravedlňujem sa. Vo funkcií menuzobraz() je document.cookies a má byť document.cookie |
||
fajzen Profil |
#12 · Zasláno: 24. 1. 2010, 07:44:27
Ecko:
síce to s tým nesúvisí, ale v hlavičke v metatagoch máš navyše znaky \ |
||
Ecko Profil * |
#13 · Zasláno: 24. 1. 2010, 09:18:23
no zmenil som to cokie sa zapiše ale web mrzne a po prejedeni na inu stranku sa aj tak menu zatvori
|
||
fajzen Profil |
#14 · Zasláno: 24. 1. 2010, 10:24:15
Ecko:
toto by už malo fungovať: function init() { var start = 0, end, el, display; while(true) { start = document.cookie.indexOf('menu_', start); if(start == -1) break; start += pref.length; end = document.cookie.indexOf('=', start); el = document.cookie.substring(start, end); start = end + 1; end = document.cookie.indexOf(';', start); if(end == -1) end = document.cookie.length; display = document.cookie.substring(start, end); if(document.getElementById(el)) document.getElementById(el).style.display = display; start = end + 1; } } |
||
Ecko Profil * |
#15 · Zasláno: 24. 1. 2010, 10:31:01
Ano dakujem ti velmi pekne funguje to ale ako nastavit aby bolo prve skrite menu?
|
||
fajzen Profil |
#16 · Zasláno: 24. 1. 2010, 10:41:05
Ecko:
nemáš za čo „ako nastavit aby bolo prve skrite menu“ teraz neviem, čo myslíš... aby bol ten div najskôr skrytý? to bude... keď príde návštevník na stránku, bude skrytý, klikne aby sa mu zobrazil, bude zobrazený, prejde na inú stránku, bude zobrazený, zatvorí prehliadač, znovu ho otvorí, pôjde na tvoju stránku a bude skrytý (cookie sa vymaže po zatvorení prehliadača) |
||
Ecko Profil * |
#17 · Zasláno: 24. 1. 2010, 10:43:51
aha máš pravdu skúsil som tu v ie a ide to tak ako som chcel ..:) máš umna pivo :P
|
||
fajzen Profil |
#18 · Zasláno: 24. 1. 2010, 10:44:42
Ecko:
:-D super |
||
Časová prodleva: 15 let
|
0