Autor Zpráva
Shippy
Profil
Dobrý den,
vím, že toto tu jednu řešeno bylo - potřebuji jeden <div> skrýt a jeden <div> odkrýt. Metodu s getElementById('div1').style.display='block' znám, ale můj problém je - rád bych to dal do funkce.

Konkrétněji:
- mám 4 verze popisů členů naší třídy
- až do teď byly separované do různých html souborů
- PHP dotaz je přeci jen trochu nanicovatý - proč zatěžovat server? (ale při velké nouzi bych si z nějakého toho <a href="01_ziv.php?ci=shippy">Živoťák napsaný Shippym</a> nic moc nedělal)
- a chci vytvořit funkci
zmenZivotak(autor,aktual){
getElementById(autor).style.display = "block";
getElementById(aktual).style.display = "none";
var aktual=autor; /*chci do proměnné aktual narvat obsah proměnné autor, aby to šlo potom zadávat jako zmenZivotak('shippy',aktual)*/
// konec funkce
}

Ale když udělám <a href="javascript:zmenZivotak('jirkuv',aktual)">Živoťák od Jirky</a>, tak se to chová, jakoby to byl jen odkaz na neexistující záložku (třeba #) -> nic to nezmění, nic to neudělá. Podotýkám, že jsem v javascriptu naprostá lama a zaal jsem s ním jen kvůli tomuto.

Už jsem zoufalý, kdybych se nemohl stresovat jinými věcmi, tak asi rozbju klávesnici.
Předem díky, Shippy.
Fred
Profil
článek
výsledek
Yuhů
Profil
když použiješ uvnitř funkce var, tak je deklarovaná proměnná pouze lokální, tedy platná jen v té funkci. To je zrovna to, co tady nechceš. Naopak, když to var zrušíš, měla by se z toho stát proměnná globální. (Logiku v tom nehledej, je to kouzlo.)

Taky nezapomeň na počáteční hodnotu proměnné aktual. Jinak logika skriptu je docela pěkná, ale nechápu, proč to voláš rekurzivně. Nezacyklí se to?

Možná tam ale jsou i jiné chybky, netestoval jsem to.
Shippy
Profil
Díky moc. Ještě dnes jsem si na tohle vzpomněl, když jsem narazil v php na "global" - zlaté php.
Yuhů Omlouvám se, rekurzivnost měla být snad jen v poznámce? Respektive když oddělíš všechny komentáře (a to var), tak je to ta funkce, kterou chci mít. A později ji zavolám tou metodou <a href="javascript:zmenZivotak ..." >Změň živoťák</a>. Ještě jednou se omlouvám za zavádějící zápis.
Takže díky za řešení, funguje to. Shippy
habendorf
Profil
Shippy: já bych to asi volal spíš přes onclick.
Shippy
Profil
Můžu se zeptat, jaký je v tom rozdíl?
habendorf
Profil
Shippy: http://www.jakpsatweb.cz/nove-okno.html#zpusoby

Ten link se sice týká otevírání nového okna, ale myslím že to lze zobecnit na volání jakékoliv funkce. Prostě mi to přijde tak nějak čistší.
Toto téma je uzamčeno. Odpověď nelze zaslat.