Autor | Zpráva | ||
---|---|---|---|
DiDu Profil |
#1 · Zasláno: 14. 9. 2007, 16:39:17
Ahoj, potřebuji zvýraznit aktivní odkaz pomocí javascriptu nebo css, ale ne php.
Zatím mi fungovalo toto: <a href="nekam1.htm" target="Fr2" name="odkaz1" onClick="this.style.fontWeight = 'bold'; odkaz2.style.fontWeight = ''; odkaz3.style.fontWeight = '';">odkaz1</a> <a href="nekam2.htm" target="Fr2" name="odkaz2" onClick="this.style.fontWeight = 'bold'; odkaz1.style.fontWeight = ''; odkaz3.style.fontWeight = '';">odkaz2</a> <a href="nekam3.htm" target="Fr2" name="odkaz3" onClick="this.style.fontWeight = 'bold'; odkaz1.style.fontWeight = ''; odkaz2.style.fontWeight = '';">odkaz3</a> Ale moje menu má mít 20 položek. Jak to mám udělat? Prosím polopatě, jsem začátečnik. Děkuji. |
||
Taps Profil |
#2 · Zasláno: 14. 9. 2007, 17:12:04 · Upravil/a: Taps
DiDu
Odkaz můžeš zvýraznit pomocí css a to pomocí atributu a:active a nebo to zkus polopatě -> http://polopate.jakpsatweb.cz/index.php?page=include4. Ještě dodám že pomocí javascriptu by to šlo pomocí události onmouseover onmouseout |
||
DiDu Profil |
#3 · Zasláno: 14. 9. 2007, 17:16:55
Říkám, že nechci php a a:active taky nevyhovuje. Přestane být aktivní kliknutím na jiný odkaz. Ale já chci měnit zvýraznění pouze při kliknutí na položku menu.
|
||
tajny spion Profil |
#4 · Zasláno: 14. 9. 2007, 18:56:03
DiDu
Pomoci PHP ohlidat, kde se prave nachazis a tu polozku zvyraznit. Presne nvm jak takze vic neporadim. |
||
tajny spion Profil |
#5 · Zasláno: 14. 9. 2007, 18:56:55
DiDu
Btw, web by nemel byt zavisly na JS, drtiva vetsina jde pomoci CSS. Kup si knihu Mistrovstvi v CSS a pochopis. |
||
peta Profil |
#6 · Zasláno: 14. 9. 2007, 19:25:22
1.
a) PHP: pomoci PHP a regularnich vyrazu hledas v HTML kodu <a href="jmenostranky.php a to si prepises a <a class="sel" href=... (cili celou cast menu si das do string promenne $str = "..."; pouzijes funkci replace - cz.php.net/str_replace ; a pak echo $str;) b) Totez lze udelat pomoci JS jaksatweb - javascript - priklady - gethttpvars str = idMenu.innerHTML; str = str.replace(...) idMenu.innerHTML = str; 2. a) PHP generujes menu z nejakeho pole (array(1,2,3)) pomoci nejakeho scriptu a tomu reknes, kterou polozku ma zvyraznit. Jako ja mam treba knihovnu na SELECT, A HREF, tak tam pridat polozku menu $x = array( 'index.php' ); foreach($x as $a=>$b) echo "<a href="".$a."">ahoj</a>"; b) totez lze pomoci JS (new Array(1,2,3)) 3. pomoci JS DOm se muzes dostat do elementu s ID menu a v nem ke vsem odkazum A a u nich si zkontrolovat parametr href jestli se rovna tvemu Neco, jako pouzivam na http://peter-mlich.wz.cz/x/sort/studium_programy3.htm na serazovani |
||
Časová prodleva: 26 dní
|
|||
Radulina Profil * |
#7 · Zasláno: 10. 10. 2007, 10:45:03
Ahoj, já mám podobný problém a a:active mi nefunguje :( zbarví se mi ten odkaz v menu jen když na něj klikám, ale jak dám myš pryč, tak má zase původní barvu
Chci jen docílit toho, aby odkaz (stránka), na které zrovna jsem, byla v menu barevně odlišená... Takhle vypadá můj zápis pro tu lištu s menu, co mám doplnit, aby mi ten odkaz třeba zčernal, když je aktivní? #lista1 { margin: 0px auto; padding: 8px; text-align: center; font-size: 13pt; width: 804px; background-color: #d2691e; } #lista1 a { text-decoration: none; color: #fff5ee; background-color: #d2691e; font-weight: bold; padding: 8px; } |
||
DiDu Profil |
#8 · Zasláno: 10. 10. 2007, 12:30:47 · Upravil/a: DiDu
Radulina:
Musíš mít definované styly pseudotříd v tomto pořadí: link, visited, hover a active. To znamená, že poslední active se uplatní na vzhled aktivního odkazu. Můj problém výše zmíněný to ale neřeší. Active lze použít pouze, pokud nemáš na stránce už žádný jiný odkaz, který s menu nesouvisí, např. adresu, obrázek jako odkaz, kontextový odkaz atd. Kliknutím na jakýkoliv jiný odkaz totiž aktivní odkaz přestane být aktivní. Osobně active vůbec nepoužívám, má význam pouze u primitivních stránek. |
||
Radulina Profil * |
#9 · Zasláno: 10. 10. 2007, 13:15:23
DiDu: to jsem si vůbec neuvědomila, odkazy tam samozřejmě mám, nebo spíše budu mít až ty stránky naplním, v tom případě nevím, jak to v CSS vyřešit a nic jiného než CSS neumím :(
|
||
DiDu Profil |
#10 · Zasláno: 10. 10. 2007, 13:46:46
Radulina: Pokud vždy menu načítáš s aktivní stránkou, pak stačí na příslušnou stránku přiřadit nějaký identifikátor k aktivnímu odkazu - ve stylech si tento aktivní nadefinuješ jinou barvou. Pokud ale používáš rámy, jako já, kde mám menu v samostatném html souboru, pak nevím. Stále to mám tak, jak mám uvedeno na začátku v prvním příspěvku. Jen jsem nastavení svých 20 odkazů přesunula do externího souboru, kde mám funkci, která vždycky všechny položky menu nastaví na původní hodnotu a nakonec aktivní na tu aktivní hodnotu. V externím a funkcí to mám proto, aby zápis za onClick nebyl tak dlouhý a taky to používám v různých menyčkách, kde mám stejná name u odkazů.
Peta: Tohle totiž nechápu. Nedokážu dostat jakoukoliv proměnnou do jména objektu: jmenoodkazu.style.fontWeight = 'bold' a potřebovala bych něco jako: proměnná.style.fontWeight = 'bold'. Prostě to takto nejde. |
||
J Profil * |
#11 · Zasláno: 10. 10. 2007, 13:54:17
Radulina - příklad:
Pro každou stránku trošku jinak menu: pro první stránku: <a class="aktivni" href="...">položka 1</a> <a href="...">položka 2</a> <a href="...">položka 3</a> pro druhou stránku <a href="...">položka 1</a> <a class="aktivni" href="...">položka 2</a> <a href="...">položka 3</a> atd. A pro třídu .aktivni předepsat v css třeba jinou barvu textu, jinou barvu pozadí atp. |
||
Radulina Profil |
#12 · Zasláno: 10. 10. 2007, 17:04:41
Teda jak jsem se radovala, jak to hezky vyřeším pomocí poslední rady, ale ono to nefunguje :( co sakra dělám blbě?
takhle to mám zapsaný ve stylu .aktivni { background-color: black; color: #d2691e; } a takhle pak ve zdrojáku <a class="aktivni" href="index.html">Úvod</a> A ještě jeden dotaz, né až tak do tohohle tématu. Ale když si to otevřu ve Firefoxu, tak mi horní obrázek odskakuje doprava, ale lišta s menu co je pod tím zůstane v pohodě, nevíte čím to může být a jak to spravit, aby se mi to zároveń nerozházelo v exploreru? Jinak už jsem kupodivu všechno sladila tak, aby to v exploreru i ve firefoxu vypadalo tak jak má... |
||
Str4wberry Profil |
#13 · Zasláno: 10. 10. 2007, 17:09:12
Radulina
a.aktivni — styluješ totiž odkaz. |
||
Radulina Profil |
#14 · Zasláno: 10. 10. 2007, 17:15:24 · Upravil/a: Radulina
takže tak jak to mám mám předepsat před .aktivni pouze a? tak mi to ale taky nefunguje :(
jéé funguje, ale musela jsem si to hodit takhle, mělo mi to dojít hned no... #lista1 a { text-decoration: none; color: #fff5ee; background-color: #d2691e; font-weight: bold; padding: 8px; } #lista1 a.aktivni { color: black; } Díky mnohokrát :) |
||
Časová prodleva: 1 měsíc
|
|||
toretak Profil * |
#15 · Zasláno: 15. 11. 2007, 17:19:22
mam problem stejny jako Didu, nicmene sem na tom o neco lepe.. ja sem to vyresil. Moje reseni vsak nefunguje ve firefoxu, budu vdecny za jakykoli napad.
moje implementace: onClick volam funkci ktera mimo jine provede toto : document.getElementById(objekt).className ="current"; ale jak rikam nejde to ve ff .. ale aspon neco... (diakritiku a interpunkci nepouzivam, a timto se za to omlouvam) |
||
Časová prodleva: 16 let
|
0