Autor Zpráva
Css
Profil *
Ahoj potřeboval bych pomoc s javascriptem. plácám se v tom dneska od rána a nejde mi to. javascript neumím. Mám menu a chci aby po kliknutí na odkaz se změnilo pozadí odkazu a zůstalo tak dokud nebude kliknuto na jiný odkaz. Takový je kod:
#menu { width: 1000px; min-height: 50px;}
#menu ul { list-style: none; margin: 0; }
#menu li { float: left; background-color: white;}
#menu li a { color: #0050B0; text-transform: uppercase; text-decoration: none; 
       float: left; display: block; font-size:12px; line-height: 40px; padding: 0 11px; margin-top: 7px; background-color: transparent}
#menu li a:hover { text-decoration: underline;}
#menu li.active a { color: #fff; background-color: #1f356f; }
<div id=menu>
<ul>
<li><a href="odkaz1">Odkaz1</a></li>
<li><a href="odkaz2">Odkaz2</a></li>
</ul>
</div>
Takže vlastně potřebuju aby se po kliknutí na odkaz změnila třída li na active.
Moc děkuju za pomoc, sám bych to nevyřešil
mimochodec
Profil
Nepotřebuješ náhodou spíš to, aby až se načte ta další stránka, nějaké položce menu se změnila třída?
Css
Profil *
No potřebuju aby když kliknu na odkaz1 se mu změnila barva pozadí(třída active) a když kliknu na odkaz2, tak se pozadí u odkaz1 zruší a objeví se u odkaz2
mimochodec
Profil
Ne, potřebuješ, aby se kliknutím někam přešlo a tam bylo menu obarveno jinak. K tomu javascript nepotřebuješ.

Jestli opravdu chceš, aby se kliknutím jenom změnila něčemu třída, aniž bys přecházel na jinou stránku, tak se omlouvám.
Případně bys ještě mohl chtít to chování, které je použito ve zdejší diskusi. Tzn. kliknu, změní se styl a během pár desetin sekundy se začne otvírat jiná stránka. K tomu se používá a:active ... a mimochodem třeba mě to docela irituje.

Obojí se obejde bez javascriptu.
Css
Profil *
No k otvírání stránky používám php skript, ale potřebuju aby jakoby ten odkaz na který bylo kliknuto byl zvýrazněn. něco jako je menu zde: http://www.pozadizwebky.cz/
preca1
Profil
Našel sem ti pár diskusí, které by tě mohly správně nasměrovat
mimochodec
Profil
Css:
No k otvírání stránky používám php skript

Ještě jednou: snažíš se javascriptem dělat něco, k čemu JS nejen že není potřeba, ale ani ho k tomu použít nelze. Navíc do toho motáš pseudotřídu :active, což je zase něco jiného. Uvědom si, že cokoliv bys pomocí JS mohl s menu udělat, o pár okamžiků později už není pravda, protože se ti otvírá nová stránka.
To co chceš, se dělá jednoduše pomocí php. Zjistíš si v něm, na kterou položku bylo kliknuto a kromě jiného (potřebuješ to i k tomu, abys zobrazil správnou podstránku) při vypisování menu patřičné položce přidáš echo " class='aktualni'"

<ul>
<li><a href="odkaz1">Odkaz1</a></li>
<li><a href="odkaz2">Odkaz2</a></li>
<li><a class="aktualni" href="odkaz3">Odkaz3</a></li>
<li><a href="odkaz4">Odkaz4</a></li>
</ul>
peta
Profil
"ani ho k tomu použít nelze"
js cookies, takze js pouzit lze, jen naznacim
//alert(location.pathname)
o = document.getElementById('menu');
o.innerHTML = o.innerHTML.replace(reg vyraz pro href + location.pathname,"class=\"sel\" $1");
Pokud v menu najde v href stejny nazev, prida class sel.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0