MozillaPL.org - polskie centrum Mozilli

Główne menu:

problem z podkreslaniem aktywnego linku w menu

Jak tworzyć strony WWW zgodnie ze standardami

Moderator: Pomocy?!

problem z podkreslaniem aktywnego linku w menu

Postautor: rupop » 01 listopada 2010, 22:06

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.0.14) Gecko/2009082707 Firefox/3.0.14 FBSMTWB

Mam styl:
<style type="text/css">
/* <![CDATA[ */
ul a:link, ul a:visited, ul a:hover {
background-color: #fff;
color: #000;
}

ul a:active {
background-color: #fff;
color: #000;
border-bottom: 5px solid #888;
}
/* ]]> */
</style>

Mam funkcję:
<script type= "text/javascript">
function activate(numer)
{
// Jako parametr funkcji podajesz numer przycisku,
// jaki ma zostac aktywowany.
var ilosc_przyciskow = 4;
var przycisk = null;
for (var i = 1; i < ilosc_przyciskow; i++)
{
// Odwolujemy sie po kolei do kazdego przycisku:
przycisk = document.getElementById('przycisk_' + i);
if (i != numer)
przycisk.className = ''; // Deaktywujemy.
else
przycisk.className = 'active'; // Aktywujemy.
}
}
</script>

i jej wywołanie dla linków

<ul>
<li><a id="przycisk1" onclick="activate('1')" target="ramka" href="main.html" >home</a></li>
<li><a id="przycisk2" onclick="activate('2')" target="ramka" href="strona1.html">strona1</a></li>
<li><a id="przycisk3" onclick="activate('3')" target="ramka" href="strona1.html">strona2</a></li>
<li><a id="przycisk4" onclick="activate('4')" target="ramka" href="strona1.html">strona3</a></li>
</ul>

Pod IE link kliknięty zostaje linkiem aktywnym i zostaje podkreślony zgodnie ze stylem. Pod FF nie działa.
Proszę o pomoc.
rupop
 

Odp: problem z podkreslaniem aktywnego linku w menu

Postautor: Mirek » 01 listopada 2010, 23:51

Przeglądarka: Mozilla/5.0 (Windows; U; Windows NT 6.0; pl; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12

CSSowe a:active i Javascriptowe przycisk.className = 'active' - to dwie różne rzeczy. W CSSie zamień selektor dynamicznej pseudo-klasy na zwykłą klasę - tj. a:active {...} zamień na: a.active {...} - a najlepiej użyj w ogóle innej nazwy dla tej klasy, żeby Ci się nie mieszała z dynamiczną pseudo-klasą :active (którą właściwie też możesz wykorzystać, żeby styl się zmieniał już w chwili klikania, a nie dopiero po kliknięciu i wykonaniu instrukcji JS).
Mirek
Moderator
 
Posty: 2156
Z nami od: 09 sierpnia 2007, 20:37


Wróć do Tworzenie stron WWW

Kto jest online

Zarejestrowani użytkownicy: Bing [Bot], dexter, Google [Bot]

Przejdź do powiązanej strony

Nawigacja:

Stopka: