Re: JavaScript

From: mail@pp21.cz
Date: 25. 01. 2003, 14:54 CET


jztribe <jztribe@seznam.cz>:

> Dobrý den, mohl by mi někdo prosím poradit se skriptem?

Rozhodne na to nejsem odbornik, ale to co ti zatim poradili vubec nedava
smysl :(

> Ten vypadá takto:
>
> function showBio() {
> document.getElementById("bio").style.visibility='visible';
> return true;
> }
> function hideBio() {
> document.getElementById("bio").style.visibility='collapse';
> return true;
> }


To je OK, trochu jsem to ted testoval, ale v IE6, ani v Mozille mi nechce
fungovat to visibility='collapse':( Takze bych to navrhoval nahradit
radeji pomoci 'display', asi takhle, to mi funguje:

function showBio() {
document.getElementById("bio").style.display='block';
return true;
}
function hideBio() {
document.getElementById("bio").style.display='none';
return true;


> v HTML je zapsáno:
>
> <p id="bio" class="bio">...tady je text...</p>
>  //Tento odstavec je skrytý (pomocí definice stylu v šabloně CSS)

To je dobry, pro svoje testy jsem si to upravil takhe:

<p id="bio" style="display: none;">...tady je text...</p>

Jak vidis, opet jsem visibility nahrdadil display.


> bio
>  //Po kliknutí na na tento "odkaz" se v okně prohlížeče zobrazí
> jen slovo "true" a nic víc.

To ja chyba. Zkus pouzit OnClick.
<a href="#" onclick="showBio()">bio</a>

ale ani tohle neni idealni, odkaz (tag <a>) by mel odkazovat jen na dalsi
dokument a ne na JS funkci v dokumentu. Navrhoval bych to vyresit takhle:

<span onclick="showBio()">bio</span>

a pak tomu jeste pridat nejkej odpovidajici slyte:
text-decoration: underline; color: blue; cursor: hand;

> Když vynechám ve skriptu řádek obsahující "return true;" , tak po
> kliknutí na odkaz prohlížeč (IE6) nereaguje nijak.

Nejspis proto, ze ma problemy s tim visibility: collapse. Kdyz to zmenis
na display, chodi to.

------------------------------
<html><head>
<script>
function showBio() {
document.getElementById("bio").style.display='block';
return true;
}
function hideBio() {
document.getElementById("bio").style.display='none';
return true;
}
</script>
<style>
span {text-decoration: underline; color: blue; cursor: hand;}
</style>
</head><body>
<span onclick="showBio()">show</span>
<span onclick="hideBio()">hide</span>
<hr>
<p id="bio" style="display: none;">...tady je text...</p>
<hr>
</body></html>
---------------------------

-pp21-



This archive was generated by hypermail 2.1.2 : 25. 01. 2003, 14:56 CET