Autor Zpráva
iwoshek
Profil *
Zravím, dělám obrázkové menu, které po kliknutí naodkaz změní obrázek v pozadí. Jenže obrázek jen problikne a vrátí se na původní a já potřebuju aby zůstal změněný dokud nekliknu na jiný odkaz.

V CSS to mám takhle:

#menu {
  list-style: none;
  padding: 0;
  margin: 0; 
}

#menu a {
  display: block;
}

#menu .internet {
  width: 165px;
  height: 112px;
  background: url(./body/menu/internet_off.png) no-repeat;
}

#menu .internet:active{
  width: 165px;
  height: 112px;
  background: url(./body/menu/internet_on.png) no-repeat;
}

Díky moc za radu.

Moderátor Joker: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Joker
Profil
iwoshek:
dělám obrázkové menu, které po kliknutí naodkaz změní obrázek v pozadí
To asi přes samotné CSS nepůjde, bude potřeba použít (například) Javascript
iwoshek
Profil *
Kdyby záleželo jen na mě, tak už to mám ve flashi, mám ale povoleno jen HTML a CSS :(
Trejpa
Profil
iwoshek:
já potřebuju aby zůstal změněný dokud nekliknu na jiný odkaz
To jako myslíš ten krátký čas, než se načte nová stránka? Během toho stíháš klikat na další odkazy?

Podle mě ti jde spíš o to, aby byla v menu označena položka právě aktivní stránky. Ale to musíš upravit menu v HTML tak, aby na každé stránce byla nějak odlišena ta položka, které se stránka týká. Obvykle pomocí ID nebo CLASS. No a pouze s pomocí HTML a CSS to budeš muset ručně změnit na každé stránce (skripty by ti v tom pomohly).

Takže asi tak:
<menu>
<li><a href=1.html>úvod<a>
<li><a href=2.html>výrobky</a>
<li class=aktivni><a href=3.html>ceník</a>
<li><a href=4.html>kontakt</a>
</menu>

menu a          { /* běžný odkaz */ }
menu .aktivni a { /* zvýrazněný odkaz */ }


(Pseudotřída :active slouží k zvýraznění odkazu po kliknutí, tedy do načtení nové stránky.)
iwoshek
Profil *
To ale budu potrebovat reload menu. Tak aby se nacetlo se spravnym zvyraznenim ne?
Trejpa
Profil
iwoshek:
To ale budu potrebovat reload menu. Tak aby se nacetlo se spravnym zvyraznenim ne?
Ano. Je normální, že se nová stránka načte celá, tj. včetně menu. Požíváš snad menu oddělené od obsahu pomocí rámů?
iwoshek
Profil *
No, buď pomocí iframe, teď pomocí object. Asi to zkusím přes ten javascript, bude to asi jednodušší :)
Trejpa
Profil
iwoshek:
No, buď pomocí iframe, teď pomocí object.
To jako simuluješ funkci iframe pomocí object? Netvrdím, že to nejde, ale iframe je k tomu vhodnější, zejména má větší podporu.

Asi to zkusím přes ten javascript, bude to asi jednodušší :)
Těmi skripty jsem měl na mysli spíše serverové (PHP, ASP). Javaskriptem to jde také, ale když už, tak bych nevkládal celé menu (je to nepřístupné), ale jen zjišťoval aktivní stránku a podle ní přidával styl konkrétní položce menu.

Tohle si přečti, ať máš přehled o možnostech: Skládání stránek z kousků.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: