webForumDet fria alternativet

Göra undantag för onmouseover-regel

JavaScriptur Javascript

3 svar · 346 visningar · startad av web00132

web00132Medlem sedan maj 2001797 inlägg
#1

Jag har ett script som ser ut så här:

sfHover = function() {
	var sfEls = document.getElementById("nav").getElementsByTagName("li");
	for (i in sfEls){
		sfEls[i].onmouseover=function() {
			this.style.opacity=0.5;
			this.filters.alpha.opacity=50;
		}
		sfEls[i].onmouseout=function() {
			this.style.opacity=0.8;
			this.filters.alpha.opacity=80;
		}
	}
}

Det funkar fint med min HTML-kod som alltså ser ut typ så här:

<ul id="nav">
   <li><a href="#">Länk 1</a></li>
   <li class="current_page_item"><a href="#">Länk 2</a></li>
   <li><a href="#">Länk 3</a></li>
</ul>

Nu skulle jag vilja att de li-element som har klassen current_page_item inte får någon opacitetsförändring vid onmouseover. Hur fixar jag det i mitt javascript?

Jag vet att såna här saker går att lösa i css direkt, men det finns alltså en anledning till varför jag vill köra javascript istället för css.

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#2
	
	if(sfEls[i].className == 'current_page_item') {
		sfEls[i].onmouseover=function() {
			this.style.opacity=0.5;
			this.filters.alpha.opacity=50;
		}
	}

	sfEls[i].onmouseout=function() {
		this.style.opacity=0.8;
		this.filters.alpha.opacity=80;
	}

typ något sådant kanske!

web00132Medlem sedan maj 2001797 inlägg
#3

Ah, of course, tackar! Det ska dock vara ett != istället för ett == för att det ska göra som jag vill, men tack! :bire

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#4

såklart det skall vara ett != iställe för ==

doh! :e

va bra att det hjälpte! :)

133 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)