Autor Zpráva
HelenaO
Profil
Ahoj!

Situace:
Mám stránky složené z kousků - nad vlastním obsahem každé stránky je iframe se záhlavím a menu, pod obsahem je iframe se zápatím. Položky podmenu jsou součástí vlastní stránky s obsahem. Stylopis je externí a je ve 2 souborech - zvlášť styly pro iframe a zvlášť pro samotný obsah stránek.

Potíž:
Ráda bych, aby odkaz na položku menu, která se právě zobrazuje zůstal podtržený i pod odjetí kurzoru z položky, kdy přestane působit a:hover i a:active. Jak jsem si přečetla v jiné části této diskuse a:active k tomu není určený. Jak ošetřit pododkazy jsem se dozvěděla tamtéž, ale zatím si nevím rady s položkami hlavního menu.

Prosím o rady na bázi HTML, CSS nebo JavaScript. Stránky nejedou přes PHP. Jsem začátečník. Sice nadšený, ale pořád ještě začátečník.

Díky
ShiraNai7
Profil
Pres javascript by to slo pres this.style, ale... vubec bych nepouzival iframy.
HelenaO
Profil
Zatím neumím jiný inteligentnější způsob, jak na více stránkách opakovat totéž a případně to i hromadně měnit. Z Yuhůova výkladu jsem pochopila, že rámy jako takové jsou sice zatraceníhodné, ale iframe jsou ještě snesitelné. Snad lze poradit i s tímto politováníhodným faktem.
joe
Profil
Ano, šlo by to pomocí JavaScriptu.

U každého odkazu v menu definovat id, například menu1, menu2, menu3, atd. (<a href="#" id="menuX"></a>)
A poté u atributu onclick vykonat JavaScriptovou funkci, například.

Dejme tomu, že položek bude 1 až N.

function setActive(e) {

  for(i = 1; i<= N; i++) {
    document.getElementById('menu' + i).className = '';
  }
  
  document.getElementById(e).className = 'active';

}


Ve stylech CSS nastavit

#menu1, #menu2, ... , #menuN { text-decoration: none; }
a.active { text-decoration: underline !important; }


A pak už jen modifikovat samotné odkazy ze začátku, na:

<a href="#" id="menuX" class="" onclick="setActive(this)"></a>
HelenaO
Profil
Díky moc, joe!
Argonisius
Profil *
Dobrý den,
jak to musím upravit, aby to fungovalo na změnu třídy z např. a na aactive? (jako že bych samostatně definoval dvě třídy, jednu pro aktivní a druhou pro normální odkaz....) A měnilo by se to pomoc js podle toho, jestli je to nakliknuté.

Díky.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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