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

Název: HTML - skryvani prvku - pomoc
Přispěvatel: 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
Kód: [Vybrat]
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
Kód: [Vybrat]
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
Kód: [Vybrat]
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...
Název: Re: HTML - skryvani prvku - pomoc
Přispěvatel: Yontalcar 08 Února 2008, 22:41:28
Když přidáš do každýho <DIV>
Kód: [Vybrat]
style="display: none;", tak  to bude fungovat
Název: Re: HTML - skryvani prvku - pomoc
Přispěvatel: Tomáš Jančík 08 Února 2008, 23:17:27
takze kdyz mam CSS definovany v HEADu, popr je planuju presunout do externiho souboru, tak to fungovat nebude?
Název: Re: HTML - skryvani prvku - pomoc
Přispěvatel: Yontalcar 08 Února 2008, 23:33:42
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
Název: Re: HTML - skryvani prvku - pomoc
Přispěvatel: Tomáš Jančík 08 Února 2008, 23:40:58
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 :)
Název: Re: HTML - skryvani prvku - pomoc
Přispěvatel: Jiří :Kačer: Voseček 08 Února 2008, 23:44:40
Koukal jsem na ten zdroják, doporučoval bych to výrazně zjednodušit následovně:
Kód: [Vybrat]
<h2 onclick="switchVisible('internet')">Internet</h2>
<div id='internet' class='invisible'>
nejaky ten text
</div>

a k tomu javascript
Kód: [Vybrat]
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:

Kód: [Vybrat]
.visible{display:block}
.invisible{display:none}
Název: Re: HTML - skryvani prvku - pomoc
Přispěvatel: Yontalcar 08 Února 2008, 23:59:27
příp. zfunkčněná původní verze:
Kód: [Vybrat]
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';
          }}
Název: Re: HTML - skryvani prvku - pomoc
Přispěvatel: Tomáš Jančík 09 Února 2008, 00:11:38
příp. zfunkčněná původní verze:
Kód: [Vybrat]
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. :)