| | |
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Autor | Správa |
---|
Registrovaný: 25.11.07 Prihlásený: 14.01.24 Príspevky: 48 Témy: 26 | Napísal jurov: 27.07.2009 19:09 | |
|
Čaute, dalo by sa tomuto skriptu vysvetliť aby zároveň s otvorením jedného div, zatváral všetky ostatné, v ktorých je class="submenu" ?
Kód: function HidView2(item) { if (item.style.display == 'none') { for (var i = 0; i < document.getElementsByTagName("div").length; i++) { document.getElementsByTagName("div")[i].style.display = "none"; } item.style.display = 'block'; } else { item.style.display = 'none'; } }
|
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 27.07.2009 19:29 | |
|
Toto je jeden zo sposobov:
Kód: var div = document.getElementsByTagName('DIV'); //vsetky divy for (var i = 0, len = div.length; i < len; i++) { if (!div[i].className) //ak div nema ziadnu triedu,neriesime { continue; } var cl = div[i].className.split(/\s/); //pre pripad class="foo submenu bar" var has_class = false; for (var j = 0, len2 = cl.length; j < len2; j++) { if (cl[j] == 'submenu') { has_class = true; } } if (has_class) { div[i].style.display = 'none'; } } Pridas si to zrejme za to item.style.display = 'block'.
Samozrejme to korektne funguje, iba ak tym "zatvaranim" myslis skrytie pomocou display:none. Ak ich chces odstranovat pomocou removeChild, bude to malinko zlozitejsie, lebo document.getElementsByTagName('DIV') je HTMLCollection a ta by sa pri kazdom odstraneni jedneho z elementov aktualizovala, hadzalo by to chyby "div[i] is undefined" a pod.
Takisto nie je problem si vybrat tie elementy pomocou getElementsByClassName, lenze nefunguje to v Exploreri. Zasa nie je problem si to doskriptovat, ale vysledok by bol taky, ze v niektorych prehliadacoch by to vracalo HTMLCollection a v niektorych normalne pole, proste chaos.
|
|
Registrovaný: 25.11.07 Prihlásený: 14.01.24 Príspevky: 48 Témy: 26 | Napísal autor témy jurov: 27.07.2009 21:18 | |
|
Ďakujem, klape to perfektne (ano myslel som display:none)
|
|
| Stránka: 1 z 1
| [ Príspevkov: 3 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| menu pomocou html od zaciatku v HTML, XHTML, XML, CSS | 16 | 1110 | 18.07.2008 8:38 Tominator | | Ako nastavit pomocou setlocale(LC_MONETARY ... menu EURO? v PHP, ASP | 12 | 732 | 19.04.2008 13:24 Frey | | Ako na MENU pomocou HTML+CSS+PHP ??? v HTML, XHTML, XML, CSS | 3 | 1128 | 20.11.2006 15:19 javo | | navigacne menu - sek.menu v HTML, XHTML, XML, CSS | 2 | 491 | 15.10.2013 21:54 newbie99 | | delenie pomocou *.cue v Audio programy | 1 | 918 | 04.09.2006 19:51 maciakba | | Konvertovanie pomocou GPU v nVidia grafické karty | 14 | 768 | 31.03.2012 14:46 shiro | | Osvetlenie pomocou autobatérie v Elektronika | 5 | 5957 | 01.12.2016 7:32 Daron | | vyber pomocou URL v PHP, ASP | 10 | 683 | 30.03.2009 20:07 enuwa1 | | Pripojenie pomocou switchu v Siete | 12 | 1181 | 05.04.2012 21:14 majky358 | | Prevod pomocou OCR v Grafické programy | 9 | 1021 | 16.10.2009 21:53 erikoo | | komprimovanie pomocou cmd v Operačné systémy Microsoft | 6 | 534 | 22.08.2009 12:52 shiro | | Zosietovanie pomocou Wifi v Siete | 13 | 1037 | 01.08.2007 10:19 mimkork | | Odkliknutie pomocou ENTERU v Ostatné programy | 5 | 387 | 06.07.2013 20:48 jouu | | siet pomocou routra v Siete | 9 | 573 | 30.04.2008 6:25 f_fabregas4 | | heslo pomocou htaccess v Ostatné | 4 | 598 | 26.03.2009 17:15 Broko71 | | Kontrola pomocou JS v JavaScript, VBScript, Ajax | 3 | 643 | 19.04.2008 16:34 kaidžas |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|