Autor Zpráva
matata8611
Profil
Zdravim,
rad bych pouzil nejaky script na odkryvani a skryvani divu javascriptem, nasel jsem napr. toto http://www.jakpsatweb.cz/javascript/priklady/skryvani-odkryvani.html

Ja bych to ale potreboval rozsirit, aby se div zobrazil kdyz kliknu na urceny odkaz a aby se skryl, kdyz kliknu na odkaz nebo kamkoliv jinam na stranku.

Dekuji za radu.
Witiko
Profil
Připoj danou funkci na tělo dokumentu a odkazu zakaž probublávání.
matata8611
Profil
Mohl bys prosim to nejak priblizit JS vubec neovladam :(
rudla
Profil
Nahodou jsem nento problem resil... Vyresil jsem ho timto zpusobem...

Do css si das

.skryj
{
decoration: none;
}


Do js toto:

try {
var pageTracker = _gat._getTracker("UA-402729-12");
pageTracker._trackPageview();
} catch(err) {}

	function zobrazSkryj(idecko)
	{
	var el = document.getElementById(idecko); 
	el.className = (el.className=='skryj') ? '' : 'skryj';
	}

	function zobraz(vybrana)
	{
	for(var i=1;i<=3;i++)
		{
		document.getElementById('zalozka'+i).className = 'seda';	// zasedni vsechny zalozky
		document.getElementById('polozka'+i).className = 'skryta';	// skryj vsechny polozky
		}
	document.getElementById('zalozka' + vybrana).className = '';		// odsedni vybranou zalozku
	document.getElementById('polozka' + vybrana).className = 'zobrazena';	// zobraz vybranou polozku
	return false;
	}





Nakonec si das do stranky, kam oba soubory pripojis element a jakymkoli nazvem
<div class="skryj" id="a ten nazev">Element</div>


a napriklad [pre]<b onmouseover zobrazSkryj('a zde ten název')">Text, na ktery kliknes</b>[pre]
Pokud kliknes na ten tucny text, zobrazi se element, pokud ho chces po nacteni stranky viditelny, smaz class="skryj".
rudla
Profil
matata8611:
kdyz kliknu na odkaz nebo kamkoliv jinam na stranku.
Jó, tak to fakt nevím, muselo by to být nastaveno i celému body, ale možná tu kecám nesmysly, v každém případě ten kód nahoře by ti měl alepoň částečně pomoci
rudla
Profil
matata8611:
V podstate jsem ti popsal tu funkci, na te strance, na kterou odkazujes.
Tori
Profil
rudla:
decoration: none;
display: none; , nemýlím-li se. A nač ten měřící kód GA??
rudla
Profil
Tori:
Aha, promin, ja se zpletl
Pavlii
Profil *
Mám podobný problém a myslím, že řešení bude asi jednodušší. Používám podobný JS, konkrétně:
  
function zobrazSkryj(idecko)
  {
    el=document.getElementById(idecko).style;
    el.display=(el.display == 'block')?'none':'block';
  }
  

V CSS mám
.appendix {display: none; height: 120px; background: #EEEEEE}


Skrývaných položek je na stránce více, každé má své IDčko a jednotlivě je mohu skrývat a odkrývat. Jenže jak udělat hromadné odkrývání a skrývání přes jeden odkaz? Potřeboval bych nějak měnit hodnotu v CSS z "none" na "block"... Poraďte prosím
rasputincze
Profil *
Právě teď řeším to samé. Našel jsem jeden js kód, který mi při načítání stránky skryje vybrané divy a pak je pomocí odkazu rozklikává a zase "sbaluje". Jedná se o jsp stránku s příklady z matematiky. Matematický text je psán v Mathml. Můj problém je, že zatímco FF a Opera to zobrazují (skrývají a odkrývají) korektně, tak IE8 ten js ignoruje (konkrétně style.display="none"). Nevědel by někdo, proč ten IE stávkuje?
Tady je js:
<script type = "text/javascript">
/* <![CDATA[ */
window.onload = function () {
    var divy = document.getElementsByTagName("div");
    for ( var i = 0; i < divy.length; i++ ) {
        if ( divy[i].className=="rozsireni" ) {
            divy[i].style.display="none";
        }
        if(divy[i].className=="zobraz"){
            divy[i].onclick=new Function("zobrazRozsireni("+i+")");
}
}
}
function zobrazRozsireni(i){
divy=document.getElementsByTagName("div");
if(divy[i+1].style.display=="none"){
divy[i+1].style.display="block";
}else{
divy[i+1].style.display="none";
}
}
/* ]]> */

</script>

A tady kousek stránky:
 
<div class = "zobraz">
<a href="#" onclick="zobrazRozsireni(i)">Řešení</a>
</div>
<div class = "rozsireni">
Tady je text, který se skrývá a odkrýva
</div>
rasputincze
Profil *
Problém vyřešen, i když nevím, proč to tak je. Stačilo skript načíst jako externí soubor a teď to funguje ve všech třech prohlížečích. Předtím jsem ten skript měl přímo v jsp stránce a dělal výše zmíněný zádrhel.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0