Autor | Zpráva | ||
---|---|---|---|
Prefin Profil |
#1 · Zasláno: 19. 4. 2012, 17:14:35
Ahojda.
Mám trochu problém s jednou blbinkou. Tady jsem našel jednoduchej scriptíček na skrytí a odkrytí prvku po kliku (neznám JS). Ale chová se mi to divně a nevím proč. Nejde o samotnou funkci, ta jeok, ale o zobrazení toho co skrývám. Abych to vysvětlil. Tohle mám v hlavičce <script language="javascript"> document.documentElement.className = "zaplyjs"; </script> <style> .zaplyjs .skryvany {display: none;} </style> <script language="javascript"> function zobrazSkryj(idecko){ el=document.getElementById(idecko).style; el.display=(el.display == 'block')?'none':'block'; } </script> Na prvním řádku mám v <tr... onclick=\"zobrazSkryj('oddil".$i."'
V řádku je deset buňek. A v druhém řádku pak <tr id=\"oddil".$i."\" class=\"skryvany\"><td colspan="10">.....</td></tr>
Skrývání funguje dobře, jenomže když druhý řádek odkryju tak prohlížeč prdí na colspan="10"
a nacpe obsah do první buďky, čímž mi to rozstřelí tabulku. Ve zdrojáku (Ctrl+U) to mám všechno ok: <tr bgcolor="#fafafa" onmouseover="bgColor='#B7B7B7'" onmouseout="bgColor='#fafafa'"> <td align="center"><input type="checkbox" name="kupuji[]" value="152"></td> <td align="center" onclick="zobrazSkryj('oddil2')" title="KLiknutím zde se zobrazí další informace o poptávce.">...</td> <td align="right" onclick="zobrazSkryj('oddil2')" title="KLiknutím zde se zobrazí další informace o poptávce.">...</td> <td align="center" onclick="zobrazSkryj('oddil2')" title="KLiknutím zde se zobrazí další informace o poptávce.">...</td> <td align="center" onclick="zobrazSkryj('oddil2')" title="KLiknutím zde se zobrazí další informace o poptávce.">...</td> <td align="center" onclick="zobrazSkryj('oddil2')" title="KLiknutím zde se zobrazí další informace o poptávce.">...</td> <td align="center" onclick="zobrazSkryj('oddil2')" title="KLiknutím zde se zobrazí další informace o poptávce.">...</td> <td align="center" onclick="zobrazSkryj('oddil2')" title="KLiknutím zde se zobrazí další informace o poptávce.">...</td> <td align="center" onclick="zobrazSkryj('oddil2')" title="KLiknutím zde se zobrazí další informace o poptávce.">...</td> <td align="center" onclick="zobrazSkryj('oddil2')" title="KLiknutím zde se zobrazí další informace o poptávce.">...</td> </tr> <tr id="oddil2" class="skryvany"> <td align="left" colspan="10" bgcolor="#FF9999">Skrývaná část</td> </tr> Díky za radu |
||
Chamurappi Profil |
#2 · Zasláno: 19. 4. 2012, 17:23:13
Reaguji na Prefina:
Potíž je v tom, že tabulka může mít v prohlížeči výchozí hodnotu CSS vlastnosti display jinou než block — v novějších prohlížečích mívá table-row . Pak nastavení na block způsobí, že se řádek přestane chovat jako řádek tabulky, stane se z něj cosi jako <div> . Mohl bys tedy nastavovat table-row místo block , ale to zase nechodí v prohlížečích, které table-row neznají.
Měň raději třídu. Můžeš odebírat/přidávat class="skryvany" , tedy v řeči JavaScriptu:
function zobrazSkryj(idecko){ var el = document.getElementById(idecko); el.className = (el.className == 'skryvany') ? '' : 'skryvany'; } |
||
Prefin Profil |
#3 · Zasláno: 19. 4. 2012, 18:37:55
Nááááááádhera.
Díkas |
||
Časová prodleva: 12 let
|
0