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: 14 let
|
0