Autor | Zpráva | ||
---|---|---|---|
foglis Profil |
#1 · Zasláno: 15. 9. 2005, 14:18:41
mám takovej malej problémek používám tenhle skript:
<script> function zobrazSkryj(idecko){ el=document.getElementById(idecko).style; el.display=(el.display == 'block')?'none':'block'; } </script> Používám ho na zobrazování a skrýv. textu na stránce,tak aby se mi zobrazil po kliknutí na odkaz,pomocí příkazu onclick ,což je v pořádku,problém je v tom,že když těch odkazů je víc,tak nevím jak zařídit,aby se mi zobrazený text po kliknutí na druhej odkaz znova schoval a nepřekrýval se s druhým zobrazeným textem.Zatím mě to funguje tak,že kliknutím zobrazím a druhým klikem schovám a tomu bych se chtěl vyhnout,dík za radu |
||
habendorf Profil |
#2 · Zasláno: 15. 9. 2005, 14:24:16
Zapamatuj si v nějaký proměnný ID toho ukázanýho. A pak před ukázáním jinýho ten předchozí zas schováš.
|
||
peta Profil * |
#3 · Zasláno: 15. 9. 2005, 15:37:10
http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=8&topic=11 803
podobny script, jen se resila barva |
||
foglis Profil |
#4 · Zasláno: 15. 9. 2005, 16:08:35
asi to bude něco podobnýho,ale nevím kterou část skriptu tam připsat
|
||
foglis Profil |
#5 · Zasláno: 15. 9. 2005, 16:13:11
mám to potom zapsaný takhle:
<div style="position: absolute;top:205px; left:274px";><a href="#jméno" onclick="zobrazSkryj('jméno')"onmouseover="zobrazSkryj('ukázka')"onmou seout="zobrazSkryj('ukázka')"><h3>odkaz<h3></a> </div> |
||
peta Profil * |
#6 · Zasláno: 15. 9. 2005, 16:55:02
function barva(a)
{var i; for (i=0;i<9;i++) objGet("m"+i).background="transparent"; objGet("m"+i).background="#00ccff"; } potrebujes upravit na neco jineho, konkretne skryvani, takze, co to bude? objGet("m"+i).style.display="none"; objGet("m"+i).style.display="block"; Jeje, to bylo tak slozite :) Hele, jinak se to resi pomoci CSS hover, JS se pouziva jen pro IE, zkus si ulozit stranku www.volny.cz/dvereapodlahy/ Tam se to rozbaluje na polozce zbozi (nebo takova nejaka, treti) |
||
peta Profil * |
#7 · Zasláno: 15. 9. 2005, 16:57:23
foglis
a teda konkretne, ty nepouzijes <a href="aaa" onclick="barva(0)" id="m0">AAA</a> ... ale asi <a href="aaa" onclick="barva(0)">AAA</a><span id="m0">bbb</span> zkratka jiny prvek, by sis schoval vsechno menu, ale s tim si snad poradis. ikdyz nevim, no, kdyz ani 2 radky neumis... |
||
foglis Profil |
#8 · Zasláno: 16. 9. 2005, 17:14:23
Peťo,
asi se pořádně nechápeme, máš pravdu já s JS neumím,prostě jsem si ten kód okopčil a funguje mi to dobře,až tu věc že: mám schovanej text nebo obrázek a odkaz kterej ho zobrazí, no a těch odkazů a schovaných obrázků mám víc. A problém je že příkazem onclick si ten schovanej obrázek zobrazím a aby se schoval musím kliknout na ten odkaz znovu a já chci aby se mi ten obrázek schoval ve chvíly kdy kliknu na další odkaz, tak mi prosím tě zkus upravit ten skript,s tím že mám např. dva odkazy "auto" a druhej "motorka" a id schovanýho obrázku je v jednom případě "car" a v druhým "moto". <script> function zobrazSkryj(idecko){ el=document.getElementById(idecko).style; el.display=(el.display == 'block')?'none':'block'; } </script> dík |
||
Fred Profil |
#9 · Zasláno: 16. 9. 2005, 17:42:13
Vyměňuješ jenom dva prvky, nebo je toho víc? Není odkaz?
|
||
peta Profil * |
#10 · Zasláno: 16. 9. 2005, 17:43:01
foglis
on ten script ale je tak napsany, ze ti to schova. Teda mozna nechapes ty upravy, nevim. background zmenis na display. Tot temer vse. Kdybys dal odkaz na stranku, mohlo se to udelat rovnou pro ni. Nevim, asi je to hodne slozity script pro novacka, zvlast, kdyz se miosto oblibeneho document.neco pouzije obecna funkce pro vice prohlizecu. <head> <style><!-- .menu p {display:none} .menu p.sel {display:block} --></style> <script><!-- function objGet(x) {if (typeof x=='string') with (document){ if (Boolean(getElementById)) x=getElementById(x); else if (Boolean(all)) x=eval('all.'+x); else if (Boolean(layers)) x=layers[x]; else x=null;}return x;} function ukaz(a) { for (var i=0;i<4;i++) objGet("m"+i).className=""; objGet("m"+a).className="sel"; } --></script> </head> <body> <div class="menu"> <a href="#" onclick="ukaz(0)">0</a> <p id="m0">kuk0</p> <a href="#" onclick="ukaz(1)">1</a> <p id="m1">kuk1</p> <a href="#" onclick="ukaz(2)">2</a> <p id="m2">kuk2</p> <a href="#" onclick="ukaz(3)">3</a> <p id="m3">kuk3</p> </div> </body> |
||
foglis Profil |
#11 · Zasláno: 16. 9. 2005, 18:03:20
to Fred,
odkaz na něco podobnýho bych se musel pokusit najít, jinak těch položek je teď 6 |
||
foglis Profil |
#12 · Zasláno: 16. 9. 2005, 18:52:49
Tak jsem to zkušebně hodil na web,aby jste se na to mohli kouknout,protože si s tím furt nevím rady,
ale je to jen pro rozlišení 1280 x 1024, tomu se budu věnovat později a upozorňuju že jsem teprv na začátku a jde jen o to,aby jste věděli přesně o co mi jde,takže kritiku si nechte:-) http://www.foglis.mysteria.cz |
||
peta Profil * |
#13 · Zasláno: 17. 9. 2005, 08:29:58
foglis jeeej, to je strasny :) A to jsem jeste na odkaz neklikl :))))
Neni to tak hrozny :) Mas moc velky obrazky a ten nahore by mohl byt jako jedno JPG. ty ostatni 2 se daji dat do CSS. _______ |______| |.|........|.| 3 obrazky, o moc rychlejsi nacitani Jestli ti jde o ty okraje, apk takhle _______ |.|____|.| |.|........|.| Krom toho si to urcite nech projit validatorem www.htmlvalidator.com/lite/ mas tam spoustu veci zapsanych html spatne a mohlo by to zpusobovat problemy bud pri delani vzhledu nebo pak s prohlizecem. Treba konkretne otevres H1 a misto, abys jej uzavrel /H1 tak otevres dalsi H1. Toto tam mas vickrat, treba pro UL. |
||
foglis Profil |
#14 · Zasláno: 17. 9. 2005, 09:16:25
Peťo,
už jsem to projel tím validatorem,to je dobrá věcička,dík za radu. No a teď to ostatní,máš namysli že ten horní obrázek mám rozdělit na víc malých?Spojit je v jeden jpg nemůžu protože ta spodní část je průhledná. No ale úplně na začátek,věděl bys co s tím skrýváním při kliknutí z jednoho odkazu na druhej, tak aby se nepřekrývali? Možná bys mi mohl poradit přes ICQ,kdyby jo tak mám #277-464-342,díkes Foglis |
||
peta Profil * |
#15 · Zasláno: 17. 9. 2005, 19:22:02
foglis
s temi obrazky by to slo takhle ________ |a|_b__|c| |..|........|..| kde ten obrazek b muze byt i delsi a pak jej az prekryjes obrazkem a,c pres position v CSS. Prekryvani menu ted nechapu... Na te webce se nic nedeje, ja vubec nechapu, co bys rad. Script, ktery sem ti poslal, taky nikde nevidim obdobu... |
||
foglis Profil |
#16 · Zasláno: 18. 9. 2005, 12:14:05 · Upravil/a: foglis
peta
když klikneš na ten odkaz metallica zobrazí se ti obrázky alb a když klikneš na druhej Judas Priest,tak se zobrazí obrázek alba od judasů,ale ty od metallicy tam furt jsou a to je to co nechci |
||
peta Profil * |
#17 · Zasláno: 18. 9. 2005, 12:46:43
foglis
dobre, ale kde mas muj script? Tam mas jakysi svuj, ktery nefunguje a kde je ten muj? A zkousel jsi to cely ode mne zkopirovat do souboru a vyzkouset? Mi to prijde, ze si delas legraci. Na zacatku zminis presne to, co ted ukazujes. Ze ti nekdo mezitim rikal jine reseni, kde je to i jinak napsano v HTML... Ale, co se budu snazit. Nechces reseni, nevyzkousej si je. Kdyby sis to cely z "Zasláno: 16.9.2005 17:43:01 Citovat " dal do html souboru, mel bys to poreseny. Tvoje zobraz skryj dela to, ze na jednu akci to zobrazi, na druhou schova. Jenomze to neprochazi vsechny prvky a nikde si neznacis posledni prvek, nikde nerikas, ze se ma predchozi prvek schovat!!! Tam bys musel pouzit jiny script a pouziji cast z toho meho... (take by to slo pres innerHTML) (aspon chapu, co bys rad s tou webkou a kde mas chybu...) <script> id0=null; function zobrazSkryj2(id){ if (id0!=null && id0!=id) objGet(id0).style.display="none"; id0=id; e=objGet(id); e.style.display=(e.style.display== 'block')?'none':'block'; } </script> ela to to, ze nejdriv se pokusi schovat predchozi prvek, pokud neni null nebo neni schodny s predchozi. Pak se to pokusi zmenit stav podle toho, co je na prvku nastaveno, kdyz pouziji tvych scriptu. |
||
foglis Profil |
#18 · Zasláno: 19. 9. 2005, 12:57:50
Peťo,
už to pomalu dávám dohromady,akorát to musím celý přepsat,ale už to bude ono,thanx |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0