Fórum Ubuntu CZ/SK
Ostatní => Otevřená diskuze kolem Linuxu a OSS => Téma založeno: Tomáš Jančík 08 Února 2008, 22:11:25
-
vytvoril jsem si kostru stranek, na kterych vyuzival skryvani prvku pomoci JavaScriptu a CSS, kod vypada nasledovne
onClick="if(getElementById(id_prvku).style.display=='none'){getElementById(id_prvku).style.display='block'} else{getElementById(id_prvku).style.display='none'}
mel bych 2 dotazy na zkusenejsi:
1) kdyz nactu stranku, tak pri prvnim kliknuti na nektery prvek se nic nestane, skryte prvky se zacnou zobrazovat/skryvat az pri dalsich klicich. jakoby se to pri tom prvnim kliku nejak aktivovalo nebo co. muj dotaz samozrejme je, jak to udelat, aby to fungovalo hned pri prvnim kliknuti
a druhy problem
2) zatim to mam udelano tak, ze u kazdeho prvku, ktery ma po kliknuti zobrazit/skryt dalsi sekci mam ten vysse zmineny kod. chtel jsem si to ale udelat pomoci jedine fce v javascriptu, kterou bych pak jenom volal pomoci kodu
onClick="show('id_prvku')"jenze kdyz pak do te fce show() zkopiruju do pismene ten kod, tak uz to nefunguje...
cele si to muzete prohlednout/vyzkouset na http://runn3r.own.cz/test/apps/
vis ze tento dotaz zamerenim uplne neodpovida charakteru tohoto fora, ale snad se najdou i taci, kteri mi dokazi poradit...
-
Když přidáš do každýho <DIV>
style="display: none;", tak to bude fungovat
-
takze kdyz mam CSS definovany v HEADu, popr je planuju presunout do externiho souboru, tak to fungovat nebude?
-
právěže ta jednokliková prodleva byla způsobena tím, že JS vpisoval style="display: none;"(tohle mám ověřený); zbytek CSS samozřejmě může být kde chce, to by vadit nemělo
-
no aspon ze uz to funguje... diky
ted to jeste nejak vyresit pres fci. teda mne to az tak nevadi, ze to musi byt u kazdyho prvku zvlast, to stejne generuje php, ale nevypada to hezky :)
-
Koukal jsem na ten zdroják, doporučoval bych to výrazně zjednodušit následovně:
<h2 onclick="switchVisible('internet')">Internet</h2>
<div id='internet' class='invisible'>
nejaky ten text
</div>
a k tomu javascript
function switchVisible(id){
if(document.getElementById(id).className=="invisible"){
document.getElementById(id).className = "visible";
}
else{
document.getElementById(id).className = "visible";}
}
Mno a css je snad jasne:
.visible{display:block}
.invisible{display:none}
-
příp. zfunkčněná původní verze:
function Show(Id_prvku)
{
if (document.getElementById(Id_prvku).style.display == 'none'){
document.getElementById(Id_prvku).style.display = 'block';
} else {
document.getElementById(Id_prvku).style.display = 'none';
}}
-
příp. zfunkčněná původní verze:
function Show(Id_prvku)
{
if (document.getElementById(Id_prvku).style.display == 'none'){
document.getElementById(Id_prvku).style.display = 'block';
} else {
document.getElementById(Id_prvku).style.display = 'none';
}}
jo tohle uz funguje, diky... mne taky mohlo napadnout dat tam document. :)