Autor | Zpráva | ||
---|---|---|---|
chris Profil |
#1 · Zasláno: 14. 9. 2005, 16:44:13 · Upravil/a: chris
Změna barvy odkazu po kliknutí na něj - stránka ve 2 framech - jak na to? Přes HTML se mi to nepodařilo - vlevo je menu a vpravo obsah... Potřeboval bych, aby odkaz vlevo, který je "aktivní" byl jinou barvou než ostatní odkazy..
|
||
peta Profil * |
#2 · Zasláno: 14. 9. 2005, 17:26:22
chris
Lidi tady doporucuji neramovat, pouzivat CSS, viz stranka treba //peter-mlich.wz.cz/x/jvl5b/ Konkretne tamto opravdu musis resit pres PHP (nebo jine serverovy jazyk) nebo pres JS (javu nebo jiny klienstky jazyk). Kdyz ti dam script, umel by sis s nim poradit? Zrejme nee, kdyz sis nenasel podobny priklad mezi priklady na www.japsatweb.cz - javascript - priklady Melo by to fungovat tak nejak jako... <a href="aaa" onclick="this.background='#00ccff'">AAA</a> Tvym jedinym problemem je, ze musis vynulovat vsechny predesle barvy, cili vsemu idecka a prochazet cyklem. <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 barva(a) {var i; for (i=0;i<9;i++) objGet("m"+i).background="transparent"; objGet("m"+i).background="#00ccff"; } </script> <a href="aaa" onclick="barva(0)" id="m0">AAA</a> <a href="aaa" onclick="barva(1)" id="m1">AAA</a> <a href="aaa" onclick="barva(2)" id="m2">AAA</a> <a href="aaa" onclick="barva(3)" id="m3">AAA</a> <a href="aaa" onclick="barva(4)" id="m4">AAA</a> <a href="aaa" onclick="barva(5)" id="m5">AAA</a> <a href="aaa" onclick="barva(6)" id="m6">AAA</a> <a href="aaa" onclick="barva(7)" id="m7">AAA</a> <a href="aaa" onclick="barva(8)" id="m8">AAA</a> Jestli tam nemam chybu, mohlo by to fungovat. |
||
peta Profil * |
#3 · Zasláno: 14. 9. 2005, 17:27:06
mam, a mozna jeste nejakou :)
objGet("m"+a).background="#00ccff"; tam melo byt samozrejme acko misto icka :) |
||
Radek Hrabůvka Profil |
#4 · Zasláno: 14. 9. 2005, 20:45:25
Pomocí CSS, rámy s tím nemají nic společného, a JS bych do změny vzhledu zbytečně netahal. Něco podobného je na www.volny.cz/cbov , tam se mění - vyžlutí i pozadí odkazu.
a:link {color: #111111} a:visited {color: #222222} a:hover {color: #333333} a:active, a:focus {color: #444444} Na pořadí záleží, barvy vi vyber podle libosti. a:focus je pro FF při aktivaci tabulátorem. |
||
peta Profil * |
#5 · Zasláno: 14. 9. 2005, 21:02:06
Radek Hrabůvka
nepochopil jsi problem, on dela zalozky, ne hover. Vybrana zalozka musi byt aktivni stale. Pro CSS by musel menit celou stranku a vpisovat vsude menu a menil Class u vybrane polozky. |
||
Timy Profil |
#6 · Zasláno: 14. 9. 2005, 21:06:38
pomocí css to nejde, protože se nemění ta stránka, kde je menu, ale pouze ta stránka, kde je obsah. To bohužel problém framů. Půjde to jedině přes JS
|
||
Fred Profil |
#7 · Zasláno: 14. 9. 2005, 21:10:28
V tomhle případě to díky rámům jinak než pomocí js nepůjde.
|
||
Radek Hrabůvka Profil |
#8 · Zasláno: 14. 9. 2005, 21:55:08
peta Však tam mám na konci CSS active, hover tam mám proto, aby bylo jasné pořadí. A kde píše chris, že dělá záložky???. chris píše o menu vlevo, a akivní odkaz má vypadat jinak, CSS klasika.
|
||
Fred Profil |
#9 · Zasláno: 14. 9. 2005, 22:00:19 · Upravil/a: Fred
Ne, active je jen dokud je odkaz aktivní.
|
||
Radek Hrabůvka Profil |
#10 · Zasláno: 14. 9. 2005, 22:32:31
Zcela jistě není odkaz "aktivní" po klepnutí na další odkaz, což skript, co napsal peta neřeší.
Ne, active je jen dokud je odkaz aktivní. Neznám rozdíl mezi aktivní a "aktivní", chris nám ho nesdělil. |
||
Fred Profil |
#11 · Zasláno: 14. 9. 2005, 22:36:44
Tak tedy jinak dokud je na něm zmáčknutá myška, až ji pustíš bude zase jako předtím, on potřebuje aby byl zvýrazněný odkaz na aktuální stránku. Něco jako třeba tady http://css.maxdesign.com.au/listamatic/horizontal06.htm ten první odkaz v menu
|
||
Radek Hrabůvka Profil |
#12 · Zasláno: 14. 9. 2005, 23:30:08 · Upravil/a: Radek Hrabůvka
Fred tak jak to píšeš by to bylo pokud by řádek s definicí a:active nebyl poslední. Jak píšu, na pořadí záleží. CSS klasika, platí poslední definice a:active. Kdybych měl poslední třeba a:hover, tak po puštění tlačítka myši se vzhled změní podle a:hover definice a až myškou odkedu, tak podle a:visitet.
Patrně sis nezkusil výsledek na mnou uvedeném odkazu, odkaz je aktivní, dokud neklepnu jinam. |
||
Radek Hrabůvka Profil |
#13 · Zasláno: 14. 9. 2005, 23:35:40
Uznávám, tak jak to píšu to dělá jen IE.
|
||
Fred Profil |
#14 · Zasláno: 14. 9. 2005, 23:37:35
Radek Hrabůvka No zdá se že stále nechápeš on potřebuje, aby byl "zvýrazněný" i když klikneš jinam. O tom pořadí mě nemusíš poučovat, zkus si to tu trochu prohledat. Jedná se o ten samý problém jako tady http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=7&topic=49 2 Odpověď Víta Dlouhého je v php, zde se to samé řeší javascriptem.
|
||
chris Profil |
#15 · Zasláno: 15. 9. 2005, 02:00:34
omlouvám se, že jsem se nepřipojil k diskuzi dříve... nebyl jsem u PC..
Všem děkuji za příspěvky a odpovědi! Projdu si je a snad to nějak vyřeším :) |
||
peta Profil * |
#16 · Zasláno: 15. 9. 2005, 09:31:07
Radek Hrabůvka
Vis, jak funguji zalozky u windows? Zalozky, jako TabSheet. _____ |.AAA.| BBB CCC |........|_________ |...........................| |...........................| Tak on chce neco podobnyho. Zmenis stranku a chce aby v menu zustalo svitit, na ktere strance je, dokud neklikne na nejakou jinou. A samozrejme nesmi svitit vice, nez jedna (u visited muzou svitit vsechny) Ale asi by to slo i pomoci CSS a z-index, aspon jsem videl tak nejak delanou galerii obrazku. |
||
chris Profil |
#17 · Zasláno: 15. 9. 2005, 14:55:15
peta
chris Lidi tady doporucuji neramovat, pouzivat CSS, viz stranka treba //peter-mlich.wz.cz/x/jvl5b/ Konkretne tamto opravdu musis resit pres PHP (nebo jine serverovy jazyk) nebo pres JS (javu nebo jiny klienstky jazyk). Kdyz ti dam script, umel by sis s nim poradit? Zrejme nee, kdyz sis nenasel podobny priklad mezi priklady na www.japsatweb.cz - javascript - priklady Melo by to fungovat tak nejak jako... <a href="aaa" onclick="this.background='#00ccff'">AAA</a> Tvym jedinym problemem je, ze musis vynulovat vsechny predesle barvy, cili vsemu idecka a prochazet cyklem. Tak jsem zkopíroval ten script (uzavřený v závorkách <script>), opravil u něj ten překlep a dále jsem udělal menu dle tvého příkladu, jen jsem změnil odkazy a bohužel mi to nefunguje :( |
||
peta Profil * |
#18 · Zasláno: 15. 9. 2005, 15:44:53
chris
Toz, je mozne, ze tam mam nejakou chybku, mohl jsi dat odkaz na stranku. Jdu to resit, no... Ale bez ramu, takze nerucim za to, co to udela s ramy. Jj, chyba je v barve pozadi, ja to nepouzivam, tak nevim, jak se to v JS pise, udela jsem to pres class. <head> <style><!-- a {} a.sel {background:#00ccff} --></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 barva(a) {var i; for (i=0;i<9;i++) objGet("m"+i).className=""; objGet("m"+a).className="sel"; } --></script> </head> <body> <a href="#" onclick="barva(0)" id="m0">1</a> <a href="#" onclick="barva(1)" id="m1">2</a> <a href="#" onclick="barva(2)" id="m2">3</a> <a href="#" onclick="barva(3)" id="m3">4</a> <a href="#" onclick="barva(4)" id="m4">5</a> <a href="#" onclick="barva(5)" id="m5">6</a> <a href="#" onclick="barva(6)" id="m6">7</a> <a href="#" onclick="barva(7)" id="m7">8</a> <a href="#" onclick="barva(8)" id="m8">9</a> </body> |
||
peta Profil * |
#19 · Zasláno: 15. 9. 2005, 15:48:06
jeste by to mozna chtelo nastavit
<a href="#" onclick="barva(8)" id="m8" class="sel">9</a> a nezapomen si tab pridat ty tve target kvuli framum nebo uplne ne, do head pridat <head> <style script a spol...> <base target="mujramecek" /> </head> cimz vsechny odkazy pujdou do ramu "mujramecek" |
||
chris Profil |
#20 · Zasláno: 15. 9. 2005, 17:52:35
díky :) zkusím
|
||
chris Profil |
#21 · Zasláno: 15. 9. 2005, 18:04:11
tak tentokrat se to projevilo takto: byly zabarvene vsechny odkazy a kdyz jsem kliknul na jeden z nich, tak se vsechny odbarvily... ale uz se s tim netrapte, asi to tak uz necham..
|
||
peta Profil * |
#22 · Zasláno: 15. 9. 2005, 18:53:47
chris
asi mas jinak nastavene CSS, vis, ja ze vsech prvku odstranim class. a pro ten jeden jej pridam Zkousel jsem to ve firefox, nevim, jak se to projevuje jinde a stale opakuji, dej sem stranku. Kdo vi, co tam mas za veci. To je tak tezky registrovat se na free hosting, nahrat tam stranku a dat sem odkaz? treba wz.cz , na tu ukazku to staci. Bez stranky ti nemuzeem pomoci, fakt. Muzem ti to cele napsat, ale proc? www.google.com a hledej, spravna klicova slova a vetsinou neco takove najdes. nebo treba u mne na webce v odkazech na MENU, ale tam je to bez ramu. Ale je tam asi 10 odkazu, kde na kazdem je asi 30 menu. |
||
chris Profil |
#23 · Zasláno: 15. 9. 2005, 19:28:42
Já framy fakt nesnáším - je to podle mě dost zastaralá záležitost... S CSS problém nemám, ale tohle mě dostalo - zvlášť po tom, co jsem si předtím, než jsem se zeptal tady, vygoogleoval informaci, že se to dá řešit jen JavaScriptem... Odkaz bych sem klidně hodil, ale vlastně už s tím nechci zdržovat - připadá mi divný zabývat se problémem, který způsobuje to, že má stránka framy, tak dlouho - jen proto, že je pracné ten web předělat do CSS - a navíc, když ten web ani není můj... Takže děkuju a pokus se ještě někdy tady na něco zeptám, bude to v sekci CSS ;)
|
||
peta Profil * |
#24 · Zasláno: 15. 9. 2005, 19:44:00
chris
Hm, pracne? 1. Tak ono se to menu tam da vepsat JS a nechat tam jen odkaz na nahradni v pripade, ze nemas JS viz //vampierka.wz.cz/ - kdyz kliknes na guestbook, tak to chvili nacita a je videt, ze na wz.cz vse chvili trva a misto menu se zobrazi jen odkaz. 2. Pouzit PHP include, to vyuzijes stavajici soubory a do kazde stranky vepises menu pomoci include v php. Z iframu je to temer bez prace, jen musis predelat CSS. |
||
chris Profil |
#25 · Zasláno: 15. 9. 2005, 20:03:48
Tou pracností jsem myslel předělání celého webu jen do CSS bez framů...
A co se týče PHP a JS, tak mi to prostě nefungovalo.. Ale díky za tvůj čas! |
||
Fred Profil |
#26 · Zasláno: 15. 9. 2005, 20:12:32
No jestli to máš v rámech, můžeš otestovat co je ve vedlejším rámu a podle toho přidávat a odebírat class na tom menu.
Něco jako if(parent.location.href="neco.html")document.getElementById('idPrvkuVM enu').className='zvyrazneno' |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0