Vad är fel?

JavaScript

3 svar · 168 visningar · startad av daPhil

Medlem sedan apr. 2001151 inlägg
Trådstart#1

Ok, jag är värsta nybörjaren p JavaScript, men jag trodde jag hade tänkt rätt med denna kod... Den fungerar inte, kan någon tala om för mig vad som e fel med detta:

<html>
	<script language="JavaScript">
			
			function ClickCol(obj)	{

									var actColor = "FF0000"
									var inactColor = "000000"
									
									If (obj == "a") 	{ 	
															a.style.color=actColor
															b.style.color=inactColor
															c.style.color=inactColor 
														}
														
									If (obj == "b") 	{ 	
															a.style.color=inactColor
															b.style.color=actColor
															c.style.color=inactColor 
														}
														
									If (obj == "c") 	{ 	
															a.style.color=inactColor
															b.style.color=inactColor
															c.style.color=actColor 
														}
									}
		
	</script>
		<br>
		<br>
		<a href="#" id="a" onClick="JavaScript:ClickCol(this)">LinkONE</a>
		<br>
		<br>
		<a href="#" id="b" onClick="JavaScript:ClickCol(this)">LinkTWO</a>
		<br>
		<br>
		<a href="#" id="c" onClick="JavaScript:ClickCol(this)">LinkTHREE</a>
	</body>	
</html>

Tack!

PS: Det är inte mellanslag i "Java Script" det blir bara så här på forumet. DS.

Medlem sedan feb. 20022 594 inlägg
#2

Använd ; efter

var actColor = "FF0000"
var inactColor = "000000"

OSV.

och efter

javascript:ClickCol(this)

Medlem sedan apr. 2001151 inlägg
#3

Det fungerar fortfarande inte.

Medlem sedan juni 20004 308 inlägg
#4

Det du skickar till funktionen ClickCol är en objektreferens (skapat av this) och alltså inte en sträng ("a") vilket du jämför med. Sedan är JavaScript känslig på case "If" skall vara "if".

En rättat (men icke optimerad) kod;

	<script language="JavaScript">
			
			function ClickCol(obj)	{

									var actColor = "FF0000"
									var inactColor = "000000"
									
									if (obj == document.getElementById("a")){ 	
															document.getElementById("a").style.color=actColor
															document.getElementById("b").style.color=inactColor
															document.getElementById("c").style.color=inactColor 
														}
														
									if (obj == document.getElementById("b")){ 	
															document.getElementById("a").style.color=inactColor
															document.getElementById("b").style.color=actColor
															document.getElementById("c").style.color=inactColor 
														}
														
									if (obj == document.getElementById("c")){ 	
															document.getElementById("a").style.color=inactColor
															document.getElementById("b").style.color=inactColor
															document.getElementById("c").style.color=actColor 
														}
									}
		
	</script>
261 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)