| Autor | Zpráva | ||
|---|---|---|---|
| matata8611 Profil |
#1 · Zasláno: 2. 2. 2011, 18:14:32
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 |
#2 · Zasláno: 2. 2. 2011, 18:20:48
Připoj danou funkci na tělo dokumentu a odkazu zakaž probublávání.
|
||
| matata8611 Profil |
#3 · Zasláno: 2. 2. 2011, 18:24:34
Mohl bys prosim to nejak priblizit JS vubec neovladam :(
|
||
| rudla Profil |
#4 · Zasláno: 2. 2. 2011, 20:21:35 · Upravil/a: rudla
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 |
#5 · Zasláno: 2. 2. 2011, 20:23:11
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 |
#6 · Zasláno: 2. 2. 2011, 20:25:26
matata8611:
V podstate jsem ti popsal tu funkci, na te strance, na kterou odkazujes. |
||
| Tori Profil |
#7 · Zasláno: 2. 2. 2011, 20:38:01 · Upravil/a: Tori
rudla:
„decoration: none;“ display: none; , nemýlím-li se. A nač ten měřící kód GA?? |
||
| rudla Profil |
#8 · Zasláno: 2. 2. 2011, 20:41:13
Tori:
Aha, promin, ja se zpletl |
||
| Pavlii Profil * |
#9 · Zasláno: 4. 2. 2011, 10:10:34
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 * |
#10 · Zasláno: 4. 2. 2011, 20:18:52
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 * |
#11 · Zasláno: 5. 2. 2011, 00:30:56
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.
|
||
|
Časová prodleva: 16 let
|
|||
0