Autor Zpráva
maxAV
Profil
Ahoj,
jde nejak jednoduse javascriptem na click schovat/zobrazit DIV?
Oswald
Profil *
Například takhle:



function divControl(stav)
{
document.getElementById('skryvaci').style.visibility=stav;
}

<a href="javascript:divVisibility('hidden')">Schovat</a>
<a href="javascript:divVisibility('visible')">Zobrazit</a>

<div id="skryvaci">
</div>


Píšu to z hlavy, snad je to ok.
Oswald
Profil *
Pardon, ta funkce se musí jmenovat:

divVisibility
Oswald
Profil *
Ještě jednou sorry, aby Tě nemátl, ona se tak jenovat nemusí, ale v těch odkazech se volá funkce s názvem divVisibility. Takže v tomhle případě - aby to fungovalo - se tak jmenovat musí.
maxAV
Profil
diky moc!
vyzkousim to, s tim jmenem fce je mi to jasny ;)
maxAV
Profil
tak perfekt, funguje to! ted bych potreboval aby se potom co DIV klikem schovam posunul nahoru obsah ktery byl pod nim... zatim mi tam po nem zustane dira.
Honza Hučín
Profil
V tom případě neměň visibility, ale display.
Tedy ve funkci bude
document.getElementById('skryvaci').style.display=stav;
a parametr stav bude mít hodnoty "block" nebo "none".
maxAV
Profil
diky, vyzkouseno, funguje!
Crewer
Profil
tohle je pravda, ale co když to potřebuju udělat pro více id na jedné stránce? jak to nastavit tak, aby ta funkce byla i provícero divů?
díky
Fred
Profil
To už není tak jednoduché, tohle jsem narychlo zbastlil (IE5+,gecko,Opera) , skrývá to divy které mají titulek skryvaci.
<style type="text/css">
<!--
.skryto{display:none;}
.neskryto{display:block;}
-->
</style>

<script type="text/javascript">
<!--
function sh() {
var divy = document.getElementsByTagName('div');
for (var i = 0; i < divy.length; i++) {
var popisek = divy[i].getAttribute('title');
if (popisek == 'skryvaci'){
divy[i].className='skryto';
divy[i].removeAttribute('title');
divy[i].setAttribute('title','skryto');
}
if (popisek == 'skryto'){
divy[i].className='neskryto';
divy[i].removeAttribute('title');
divy[i].setAttribute('title','skryvaci');
}
}}
function init() {
document.getElementById('skryvac').onclick= function(){sh();}
}
function addEvent(obj, evType, fn){
if (obj.addEventListener){
obj.addEventListener(evType, fn, true);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
return false;
}}
addEvent(window, 'load', init);
//-->
</script>

<a id="skryvac">Schovat nebo ukázat divy s titlem skryvaci</a><br />



<div title="skryvaci">skrývací 1</div>
<div title="skryvaci">skrývací 2</div>
<div>neskrývací</div>
Fred
Profil
Ještě jsem to trochu došperkoval

<style type="text/css">
<!--
.skryto{display:none;}
.neskryto{display:block;}
-->
</style>

<script type="text/javascript">
<!--
function removeText(){
var skryvac=document.getElementById('skryvac');
skryvacChild=skryvac.removeChild(skryvac.childNodes[0]);
}
function text(hlaska){
removeText();
var newText=document.createTextNode(hlaska);
document.getElementById('skryvac').appendChild(newText);
}
function sh() {
var divy = document.getElementsByTagName('div');
for (var i = 0; i < divy.length; i++) {
var popisek = divy[i].getAttribute('title');
if (popisek == 'skryvaci'){
divy[i].className='skryto';
divy[i].removeAttribute('title');
divy[i].setAttribute('title','skryto');
text('Ukázat divy s titlem skryvaci')
}
if (popisek == 'skryto'){
divy[i].className='neskryto';
divy[i].removeAttribute('title');
divy[i].setAttribute('title','skryvaci');
text('Schovat divy s titlem skryvaci')
}}}
function init() {
document.getElementById('skryvac').onclick= function(){sh();}
}
function addEvent(obj, evType, fn){
if (obj.addEventListener){
obj.addEventListener(evType, fn, true);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
return false;
}}
addEvent(window, 'load', init);
//-->
</script>

<a id="skryvac">Schovat divy s titlem skryvaci</a><br />



<div title="skryvaci">skrývací 1</div>
<div title="skryvaci">skrývací 2</div>
<div>neskrývací</div>
Crewer
Profil
tý jo díky moc, prohlídnu to :-) díky moc za radu nějak se tim prokoušu a snad se mi podaří to převést do formy, kterou potřebuju :-) díky díky díky
Crewer
Profil
tý jo díky moc, prohlídnu to :-) díky moc za radu nějak se tim prokoušu a snad se mi podaří to převést do formy, kterou potřebuju :-) díky díky
Crewer
Profil
tak jsem to prohlíd, ale bohužel to neni to, co potřebuju, potřebuju na jedné stránce udělat různé odkazy, po kliknu tí na první, se oteře první div, po kliknutí na druhej se otevře druhej div, mám to vymyšlený, ale nevim, jak to udělat aby po kliknutí na nějakej odkaz (v tom otevíraném duvu) a následném vrácení zpět zůstal ten div s odkazem otevřený. to je havní můj problém.
Crewer
Profil
_
Crewer
Profil
.
Fred
Profil
Už rozumím, k tomu potřebuješ nějaké cookies
Crewer
Profil
přesně tak... to bych moc rád, ale s tim nic neumim, ač jsem se dneska celej den zaobíral jen tímhle... :-)
Toto téma je uzamčeno. Odpověď nelze zaslat.