Autor | Zpráva | ||
---|---|---|---|
MaJJ Profil |
#1 · Zasláno: 18. 3. 2007, 21:36:31 · Upravil/a: MaJJ
Hoj ...
řeším takovou věc - mám menu udělané pomocí divů, a jedna položka má 3divy (jelikož to je grafické). levý roh, pak vzorek, aby se to mohlo natahovat podle délky textu, a pak pravý roh. a chtěl bych nějakvyřešit že když návštěvník ukáže myší na jakýkoliv z těch divů, tak se mu změní všechny tři (obrázky). HTML: <div id="h_m_left"></div> CSS: #h_m_left { a názvy souborů jsou header_menu_left.png -------> při najetí myší se změní na --------> header_active_menu_left.png header_menu_right.png -------> header_active_menu_right.png header_pattern.png ------> header_active_pattern.png No doufám že jste to pochopili, a teď nevím jak to vyřešit... přemýšlím o javascriptu, který neumím, a php, ve kterém by se to možná dalo nějakýma podmínkama udělat. Předem díky! |
||
habendorf Profil |
#2 · Zasláno: 18. 3. 2007, 21:39:08
Všechno co chceš měnit musíš mít obalené áčkem. Divy budeš muset nahradit.
php, ve kterém by se to možná dalo nějakýma podmínkama udělat Jak chceš serverové php donutit, aby reagovalo na klientské události? |
||
MaJJ Profil |
#3 · Zasláno: 18. 3. 2007, 21:57:21
ad php - kk ... jen mě napadlo že jestli jde nějak v javascriptu udělat že když se spustí onhover, tak to přepíše nějakou proměnnou a spustí se podmínka. no to nic.
ad áčko - jak to myslíš? mohl bys napsat nějaký příklad? |
||
habendorf Profil |
#4 · Zasláno: 18. 3. 2007, 22:08:45
No prostě <a ...>všechen ten brajgl</a>
JS do toho nemá cenu zatahovat. |
||
MaJJ Profil |
#5 · Zasláno: 18. 3. 2007, 22:10:34
jo, ale tím nedonutím změnit všechny 3 obrázky naráz, nebo jo?
já nechci změnit jen jeden z nich, ten, na který se zrovna ukazuje... chci je změnit všechny 3! |
||
habendorf Profil |
#6 · Zasláno: 18. 3. 2007, 22:12:28
chci je změnit všechny 3!
Právě proto je musíš mít uvnitř <a>, což se ti pořád snažím říct. |
||
MaJJ Profil |
#7 · Zasláno: 18. 3. 2007, 22:20:04
kk, takže to hodím do a, ale co dál? jaké vlastnosti, atd? co změnit v css? vůbec totiž nechápu, jak může a změnit všechny obrázky když se ukáže jen na jeden
<a onmousehover="style="#h_m_left {background-image: url(../images/header_active_left.png;}""> <div id="h_m_left"></div> <div id="h_m_patt"> <a href="#">Úvod</a> </div> <div id="h_m_right"></div> </a> tak nějak? |
||
habendorf Profil |
#8 · Zasláno: 18. 3. 2007, 22:22:54
jak může a změnit všechny obrázky když se ukáže jen na jeden
Ty neukazuješ na jeden obrázek, ty ukazuješ na link. Asi budeš muset lépe číst. Říkal jsem: 1) divy nahradit (cpát block div do inline a je blbost) 2) JS do toho nezatahovat Cos udělal: 1) divy tam nechal 2) nacpal tam JS |
||
MaJJ Profil |
#9 · Zasláno: 18. 3. 2007, 22:29:50
já to vzdávám :)
a čím mám nahradit ty divy? tabulkama, img, nebo spanem, který je inline? prosím tě, napiš mi, jak bys to vyřešil ty. mě to prostě nenapadá (blbej den :)) ) |
||
Leo Profil |
#10 · Zasláno: 18. 3. 2007, 22:35:36
Pouzijte JavaScript, jinak udelate naprosto nesmyslne HTML jen kvuli CSS reseni. Leo
|
||
habendorf Profil |
#11 · Zasláno: 18. 3. 2007, 22:38:47
Spanem. Schematicky:
a span {float:left;} a .span1 {background:pozadi1;} a .span2 {background:pozadi2;} a:hover .span1 {background:pozadi1hover;} a:hover .span2 {background:pozadi2hover;} plus nastavit rozměry atd. Můžeš to dělat s dvěma nebo třemi spany, záleží na tobě a na situaci (ten třetí span by byl pro střed, pravděpodobně není nutný). |
||
MaJJ Profil |
#12 · Zasláno: 18. 3. 2007, 22:38:58
leo - JS moc neovladam, ale napadlo me to hlavne kvuli tem onmousehover atd.
ale jelikoz to neumim, tak mi asi nezbude nic jineho nez to zkouset v HTML + CSS ... |
||
habendorf Profil |
#13 · Zasláno: 18. 3. 2007, 22:43:56
Leo: CSS řešení nezatíží přece HTML o nic víc, než JS, naopak. Pořád budeš potřebovat nějaké elementy pro rohy. A jestli vzhled těchto elementů budu ovládat přes CSS nebo JS je vzhledem k HTML fuk.
|
||
MaJJ Profil |
#14 · Zasláno: 18. 3. 2007, 23:04:40
JO, díky ... fakticky tohle by mě v žívotě nenapadlo ... ale funguje to a to je hlavní ... díky moc!
|
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0