Autor Zpráva
chris
Profil
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 *
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 *
mam, a mozna jeste nejakou :)
objGet("m"+a).background="#00ccff";
tam melo byt samozrejme acko misto icka :)
Radek Hrabůvka
Profil
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 *
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
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
V tomhle případě to díky rámům jinak než pomocí js nepůjde.
Radek Hrabůvka
Profil
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
Ne, active je jen dokud je odkaz aktivní.
Radek Hrabůvka
Profil
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
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
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
Uznávám, tak jak to píšu to dělá jen IE.
Fred
Profil
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
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 *
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
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 *
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 *
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
díky :) zkusím
chris
Profil
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 *
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
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 *
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
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
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'
Toto téma je uzamčeno. Odpověď nelze zaslat.

0