Functions problem

JavaScript

7 svar · 277 visningar · startad av Rossifumi

Medlem sedan okt. 20001 558 inlägg
Trådstart#1

God morgon ;)

Jag är extremt okunning inom JS så jag behöver lite hjälp...

Jag har flera bilder som heter "sub_b4_a.gif","sub_b3_a" osv. som har "name" satt till "b4", "b3" osv.. Dessa bilder vill jag ändra på med en JS funktion. Jag har gjort en funktion som jag tycker ser jättebra ut (;)) men som inte funkar så bra...

function selSub(subben,bilden)
{
	document.images['sub' +subben+ '].src = '/images/meny/sub_b' + subben + '_' + bilden + '.gif'
}

Vad jag vill göra är att kunna använda funktionen så att jag bara kallar på den såhär

<a href="#" onClick="selSub('4','b')">Test</a>

Fattar någon vad jag är ute efter så vore jag mycket tacksam för ett svar :)

Medlem sedan maj 200010 687 inlägg
#2

Testa det här:

function selSub(subben,bilden)
{
document.images['sub'+subben].src = '/images/meny/sub_b' + subben + '_' + bilden + '.gif'
}
Medlem sedan maj 200010 687 inlägg
#3

PS. När man har en funktion kan man skriva länken så här:

<a href="javascript:selSub('4','b')">Test</a>

Jag föredrar i alla fall det eftersom om man skriver href="#" så hamnar man alltid längst upp på sidan. På vissa sidor spelar det ingen roll, men på klickar man på en bild lite längre ner på den här sidan så är det väldigt irriterande: http://www.hyperisland.se/theschool/location.html

Medlem sedan okt. 20001 558 inlägg
#4

Tackar för svaret. Det funkar till 45% ;). Alltså det funkar i IE, men inte i NS - Vet du varför?

Detta står i headen:

<script language="javascript">
	<!--
	
	function selSub(subben,bilden) {
		document.images['sub'+subben].src = '/images/menu/sub_b' + subben + '_' + bilden + '.gif'
	}

	//-->
	</script>

Sedan är koden till bilden som följer

<img name="sub4" src="/images/menu/sub_b4_a.gif" width="404" height="12" border="0" usemap="#sub_b4">

Och koden till imagemapen (därav mitt # i det tidigare inläggen :))

<map name="sub_b4">
		<area shape="rect" coords="1,0,49,12" href="/hem/default.asp" onClick="selSub('4','a')" target="content">
		<area shape="rect" coords="68,0,104,12" href="/hem/nyheter.asp" onClick="selSub('4','b')" target="content">
		<area shape="rect" coords="123,0,153,12" href="/hem/lankar.asp" target="content">
		<area shape="rect" coords="172,0,231,12" href="mailto:stig@firebladeklubben.org">
		<area shape="rect" coords="250,0,346,12" href="mailto:webmaster@firebladeklubben.org">
		<area shape="rect" coords="366,0,400,12" href="javascript:popSitemap();">
	</map>

I IE funkar det utmärk men i NS så får jag följande:

JavaScript Error: [url="http://localhost/menu.asp,"]http://localhost/menu.asp,[/url]  line 27:
document.images["sub" + subben] has no properties.

Mkt tacksam för svar :)

Medlem sedan okt. 20001 558 inlägg
#5

Är det ingen som vet vad som är fel?

Medlem sedan juli 2000836 inlägg
#6

Hmm!

Jag såg inget direkt fel så jag gjorde två bilder (sub_b4_a.gif & sub_b4_b.gif) och la dom i en mapp som heter "bild". därefter testade jag koden som jag bara ändrade till:

<html>
<head>
<script language="javascript">
<!--
function selSub(subben,bilden) {
document.images['sub'+subben].src = 'bild/sub_b' + subben + '_' + bilden + '.gif'
}
//-->
</script>
</head>
<body>
<img name="sub4" src="bild/sub_b4_a.gif" width="404" height="12" border="0" usemap="#sub_b4">

<map name="sub_b4">
<area shape="rect" coords="1,0,49,12" href="index.html" onClick="selSub('4','a')" target=new>
<area shape="rect" coords="68,0,104,12" href="index.html" onClick="selSub('4','b')" target=new>
</map>

</body>
</html>

Och detta funkade utan problem på både Explorer och Netscape. De versioner jag kollade var: IE 5.0 och NN 4.06 samt NN 4.7 .

Vad har du kollat i för versioner?

/ T

Medlem sedan okt. 20001 558 inlägg
#7

Hmm, när jag testade exakt det du skrev så funkade det :q

Måste vara fel på någon bokstav bara... får dubbelkolla. Jag antog att du bara kopierade min kod, eller?

Medlem sedan juli 2000836 inlägg
#8

Japp!

266 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)