Autor | Zpráva | ||
---|---|---|---|
TAYNEYT Profil * |
#1 · Zasláno: 30. 1. 2010, 16:04:00
Zdravím všechny,
mám tvořené vysouvací menu pomocí: <script> <!-- function nabidka(idex){ if (idex.style.display == 'none') idex.style.display=''; else idex.style.display='none' } </script> <td><span onClick="nabidka(s1)" style="cursor: hand"> .. <td><span onClick="nabidka(s2)" style="cursor: hand"> .. Vse je ok ale mam problem s tim aby kdyz kliknu na vedlejsi menu tedy s ID s2 ze se mi otevre soucasne a tudis mam obe submenu otevrena... nemohl by mi prosim nekdo poradit jak to upravit aby se po kliku jinam to otevrene submenu zavrelo, nebo kdyz kliknu na jine polozku menu aby se totot utevrelo Dekuji Predem |
||
petr 6 Profil |
#2 · Zasláno: 30. 1. 2010, 17:24:12
TAYNEYT:
„Vse je ok“ Tak je vse v poradku, nebo neco nefunguje? Az na vicemene kosmeticke chyby je kod v poradku. Mozna by bylo lepsi pri popisu "problemu" pouzit jina slova nez „totot“, „soucasne“, „kliku jinam“ nebo „submenu“ (ja teda v tom kodu zadne menu ani submenu nevidim) |
||
TAYNEYT Profil * |
#3 · Zasláno: 30. 1. 2010, 17:36:28
[b]petr 6[/b
dekuju za odezvu, je v poradku to cca na 90%. jde mi hlavne o to kdyz prepinam mezi S1 a s2 aby po otevreni s2 zmizelo s1 a naopak. |
||
fajzen Profil |
#4 · Zasláno: 30. 1. 2010, 19:40:30
TAYNEYT:
predpokladám, že niekde v kóde je niečo ako var s1 = document.getElementById('s1'); var s2 = document.getElementById('s2'); ak áno, používajú tieto premenné aj iné funkcie? |
||
JM Profil * |
#5 · Zasláno: 30. 1. 2010, 19:57:38
Ahoj Fajzen, dakujem za tvou odpoved. Bohuzel vsetko co tam je je toto:
<script> <!-- function nabidka(idex){ if (idex.style.display == 'none') idex.style.display=''; else idex.style.display='none' } </script> <script> <!-- function nabidka(idex){ if (idex.style.display == 'none') idex.style.display=''; else idex.style.display='none' } </script> <span onClick="nabidka(s1)" style="cursor: hand"><a "MM_nbGroup('down','group1','head3a_gealan','images/head4a_gealan.jpg',1)" onMouseOver="MM_nbGroup('over','head3a_gealan','images/head4a_gealan.jpg','images/head4a_gealan.jpg',1)" onMouseOut="MM_nbGroup('out')"><img src="images/head3a_gealan.jpg" alt="O Nás" name="head3a_gealan" height="50" border="0" align="top"/></a></span></td> <td><span onClick="nabidka(s2)" style="cursor: hand"><a "MM_nbGroup('down','group1','head3b_gealan','images/head4b_gealan.jpg',1)" onMouseOver="MM_nbGroup('over','head3b_gealan','images/head4b_gealan.jpg','images/head4b_gealan.jpg',1)" onMouseOut="MM_nbGroup('out')"><img src="images/head3b_gealan.jpg" alt="Služby" name="head3b_gealan" width="80" height="50" border="0" align="top"/></a></span></td> a pak uz nic ine .... a prave ze to robi pouze onclick - display a onclock znovu display=nono ale bohuzel kdyz kiknu na polozku s2 s1 sa nezavre. diky |
||
fajzen Profil |
#6 · Zasláno: 30. 1. 2010, 20:23:21 · Upravil/a: fajzen
JM (alias TAYNEYT):
v tom prípade je divné, že to robí vôbec niečo :) pretože ak je s1, s2 naozaj ID prvku, tak by sa mali predávať funkcií ako reťazce uzavreté v apostrofoch, teda <span onClick="nabidka('s1')" document.getElementById(idex).style.display takto by to malo hádzať chyby (resp. nemalo by to nič spraviť)... okrem toho v kóde, ktorý si teraz poslal, nie sú prvky s týmito ID, zato je tam funkcia MM_nbGroup() (ktorá je tam tiež nejak divoko použitá <a "MM_nbGroup('down','group1','head3a_gealan','images/head4a_gealan.jpg',1)" ešte sa chcem spýtať: budú tam iba tie dva prvky s1, s2 alebo ich tam je (prípadne v budúcnosti by mohlo byť) viac? a prosím, kód vkladaj medzi značky [ pre ] [/ pre ] (bez tých medzier |
||
JM Profil * |
#7 · Zasláno: 30. 1. 2010, 20:29:02
Ahoj,
celkom ich tam bude 3. Pokud mozem posilam kod cely aby si vedel o co jde. < <script> <!-- function nabidka(idex){ if (idex.style.display == 'none') idex.style.display=''; else idex.style.display='none' } </script>> < <table width="980"border="0" align="center" cellpadding="0" cellspacing="0" id="Tabulka_01" colaspan="2"> <tr> <td><span onClick="nabidka(s1)" style="cursor: hand"><a "MM_nbGroup('down','group1','head3a_gealan','images/head4a_gealan.jpg',1)" onMouseOver="MM_nbGroup('over','head3a_gealan','images/head4a_gealan.jpg','images/head4a_gealan.jpg',1)" onMouseOut="MM_nbGroup('out')"><img src="images/head3a_gealan.jpg" alt="O Nás" name="head3a_gealan" height="50" border="0" align="top"/></a></span></td><td><span onClick="nabidka(s2)" style="cursor: hand"><a "MM_nbGroup('down','group1','head3b_gealan','images/head4b_gealan.jpg',1)" onMouseOver="MM_nbGroup('over','head3b_gealan','images/head4b_gealan.jpg','images/head4b_gealan.jpg',1)" onMouseOut="MM_nbGroup('out')"><img src="images/head3b_gealan.jpg" alt="Služby" name="head3b_gealan" width="80" height="50" border="0" align="top"/></a></span></td> <td><span onClick="nabidka(s3)" style="cursor: hand"><a "MM_nbGroup('down','group1','head3c_gealan','images/head4c_gealan.jpg',1)" onMouseOver="MM_nbGroup('over','head3c_gealan','images/head4c_gealan.jpg','images/head4c_gealan.jpg',1)" onMouseOut="MM_nbGroup('out')"><img src="images/head3c_gealan.jpg" alt="Produkty" name="head3c_gealan" width="80" height="50" border="0" align="top"/></a></td> <td><a href="index.php?cid=97" target="_top" onClick="MM_nbGroup('down','group1','head3d_gealan','images/head4d_gealan.jpg',1)" onMouseOver="MM_nbGroup('over','head3d_gealan','images/head4d_gealan.jpg','images/head4d_gealan.jpg',1)" onMouseOut="MM_nbGroup('out')"><img src="images/head3d_gealan.jpg" alt="Reference" name="head3d_gealan" width="80" height="50" border="0" align="top"/></a></td> <td><a href="./kalkulace.php" target="_blank" onClick="MM_nbGroup('down','group1','head3e_gealan','images/head4e_gealan.jpg',1)" onMouseOver="MM_nbGroup('over','head3e_gealan','images/head4e_gealan.jpg','images/head4e_gealan.jpg',1)" onMouseOut="MM_nbGroup('out')"><img src="images/head3e_gealan.jpg" alt="Poptávka" name="head3e_gealan" width="80" height="50" border="0" align="top"/></a></td> <td><a href="index.php?cid=98" target="_top" onClick="MM_nbGroup('down','group1','head3f_gealan','images/head4f_gealan.jpg',1)" onMouseOver="MM_nbGroup('over','head3f_gealan','images/head4f_gealan.jpg','images/head4f_gealan.jpg',1)" onMouseOut="MM_nbGroup('out')"><img src="images/head3f_gealan.jpg" alt="Kontakt" name="head3f_gealan" width="80" height="50" border="0" align="top"/></a></td> <td width="200"><img src="images/head3g_gealan.jpg" width="200" height="50" /></td> <td width="200"><img src="images/head2a_gealan.jpg" width="295" height="50"></td> </tr> <tr> <td colspan="11" valign="top"><img src="images/head1_gealan.jpg" width="685" height="105" /><img src="images/head2b_gealan.jpg" width="295" height="105"> <table border="0" id="s1" style="display:none;" > <tr> <td><img src="images/sub_onas.png" width="56" height="35" /></td> <td width="135" height="35" background="images/submenu.png"><div align="center"><strong><a href="index.php?cid=94">O společnosti</a></strong></div></td> <td width="135" height="35" background="images/submenu.png"><div align="center"><strong><a href="index.php?cid=95">Výběrové řízení</a></strong></div></td> <td width="135" height="35" background="images/submenu.png"><div align="center"><strong><a href="index.php?cid=96">Ke stažení</a></strong></div></td> </tr> </table> <table border="0" id="s2" style="display:none;" > <tr> <td><img src="images/sub_sluzby.png" width="56" height="35" /></td> <td width="135" background="images/submenu.png"><div align="center"><strong><a href="index.php?cid=100">Prodej</a></strong></div></td> <td width="135" background="images/submenu.png"><div align="center"><strong><a href="index.php?cid=101">Montáž</a></strong></div></td> <td width="135" background="images/submenu.png"><div align="center"><strong><a href="index.php?cid=102">Servis</a></strong></div></td> <span onClick="nabidka(i3)" style="cursor: hand"></span> </tr> </table> <table border="0" id="s3" style="display:none;"> <tr> <td><img src="images/sub_produkty.png" width="56" height="35" /></td> <td width="135" background="images/submenu.png"><div align="center"><strong><a href="index.php?cid=107">Plastová okna</a></strong></div></td> <td width="135" background="images/submenu.png"><div align="center"><strong><a href="index.php?cid=108">Eurookna</a></strong></div></td> <td width="135" background="images/submenu.png"><div align="center"><strong><a href="index.php?cid=109">Hliníková okna</a></strong></div></td> <td width="135" background="images/submenu.png"><div align="center"><strong><a href="index.php?cid=110">Stínící technika</a></strong></div></td> <td width="135" background="images/submenu.png"><div align="center"><strong><a href="index.php?cid=111">Garážová vrata</a></strong></div></td> </tr> </table></td> > |
||
JM Profil * |
#8 · Zasláno: 30. 1. 2010, 20:32:10
Omlouvam se kod vlozim priste spravne / nevsiml jsem si posledne vety.
|
||
fajzen Profil |
#9 · Zasláno: 30. 1. 2010, 20:37:44 · Upravil/a: fajzen
JM:
aha, už som na to prišiel... takto to nefunguje iba vo Firefoxe... ak chceš, aby to fungovalo aj tam, používaj pre prístup k prvkom cez id metódu getElementById('id_prvku') a teraz konečne k riešeniu tvojho problému :) <script> <!-- function nabidka(idex){ var items = ['s1', 's2', 's3']; // zoznam všetkých prvkov for(var i = 0; i < items.length; i++) document.getElementById(items[i]).style.display = 'none'; document.getElementById(idex).style.display=''; } --> </script> a do volania funkcie podopĺňaj tie apostrofy <span onClick="nabidka('s1')" style="cursor: hand"> EDIT: a ak by si to chcel mať efektnejšie, mohol by si použiť jQuery UI - accordion |
||
JM Profil * |
#10 · Zasláno: 30. 1. 2010, 20:51:34
klobouk dolu pane amooc dekuji!!!
muzu na tebe dostat mail ci iny kontakt??? jsem tvym dluznikem |
||
fajzen Profil |
#11 · Zasláno: 30. 1. 2010, 20:56:22
JM:
nemáš za čo :) „muzu na tebe dostat mail ci iny kontakt???“ sorry, ale asi radšej nie, nemám s tým dobré skúsenosti... ale keď budeš mať nejaký problém, hoď to sem, tu ti poradia určite lepšie ;) |
||
JM Profil * |
#12 · Zasláno: 30. 1. 2010, 21:00:05
akorat mam jen maly problemik jeste - po nahrati tieto upravy to pracuje ve fairfoxe OK a stranky - prezentace v IE vubec nenaskoci a nevim preco.
|
||
fajzen Profil |
#13 · Zasláno: 30. 1. 2010, 21:00:12
ešte som v tom skripte spravil menšiu optimalizáciu, tak si to uprav
|
||
fajzen Profil |
#14 · Zasláno: 30. 1. 2010, 21:05:06
môžeš sem dať odkaz na živú ukážku?
|
||
JM Profil * |
#15 · Zasláno: 30. 1. 2010, 21:05:49
|
||
JM Profil * |
#16 · Zasláno: 30. 1. 2010, 21:08:24
je to taka mala " prasecinka" ale bohuzel jde pouze o upravy nejake a zatim prepis ww neni chten
|
||
fajzen Profil |
#17 · Zasláno: 30. 1. 2010, 21:15:41 · Upravil/a: fajzen
neni to najhoršie ;)
zmenu je v príspevku [#9] vo funkcií nabidka v IE to nejde, pretože som tam zabudol dať --> pred </script>, sorry |
||
JM Profil * |
#18 · Zasláno: 30. 1. 2010, 21:19:55
hej, uz je to OK :-) dekuji moc za pomoc - super. byvas tu na diskuzi casto???
|
||
fajzen Profil |
#19 · Zasláno: 30. 1. 2010, 21:24:04
JM:
ako kedy... v poslednej dobe celkom hej btw. hneď na úvodnej stránke v hlavnom texte máš preklep: vítejte na našich strábkách |
||
JM Profil * |
#20 · Zasláno: 30. 1. 2010, 21:24:56
diky moc :-)
|
||
TAYNEYT Profil * |
#21 · Zasláno: 31. 1. 2010, 20:00:34
muzu jeste poprosit Flajzene k vyse uvedenemu o jednu radu?? Vcera jsem docilili toho ze nas script funguje jak ma a ovlada IDcka: s1 s2 s3 - coz jsou submenu. Je mozno upravit ten script tak aby v pripade rozkliknuteho submenu s1 nebo s2 nebo s3 zustavalo stale otevrene aby se lide nemuseli porad dokola otevirat submenu kdzy chteji prekliknout na jinou polozku, ?
|
||
fajzen Profil |
#22 · Zasláno: 1. 2. 2010, 09:43:00 · Upravil/a: fajzen
TAYNEYT:
funkciu nabidka si uprav takto: <script> <!-- function nabidka(idex){ var items = ['s1', 's2', 's3']; // zoznam všetkých prvkov for(var i = 0; i < items.length; i++) document.getElementById(items[i]).style.display = 'none'; document.getElementById(idex).style.display=''; document.cookie = 'submenu=' + idex; } --> </script> tag body si uprav takto <body onLoad="MM_preloadImages('images/head4a_gealan.jpg','images/head4b_gealan.jpg','images/head4c_gealan.jpg','images/head4d_gealan.jpg','images/head4e_gealan.jpg','images/head4f_gealan.jpg');menu_init();"> a doplň do JS novú funkciu menu_init(): function menu_init() { var start = document.cookie.indexOf('submenu='); if(start == -1) return; start += 8; var end = document.cookie.indexOf(';' , start); if(end == -1) end = document.cookie.length; var el = document.cookie.substring(start, end); if(document.getElementById(el)) document.getElementById(el).style.display = ''; } netestoval som to, tak keby čosi, napíš a je to založené na cookies, takže ak návštevník nemá povolené cookies, tak to nebude fungovať |
||
Časová prodleva: 14 let
|
0