webForumDet fria alternativet

Functions problem

JavaScript

7 svar · 274 visningar · startad av Rossifumi

Medlem sedan okt. 20001 558 inlägg
Frågan#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 :)

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

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'
}

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

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

------------------
/Erik
www.juhlin.nu /sk8files/ /mp2d/

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 :)

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

Medlem sedan okt. 20001 558 inlägg
#5

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

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

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?

------------------
"I have to return some video tapes" - Patrick Bateman, American Psycho

Medlem sedan juli 2000836 inlägg
#8

Japp!

------------------
Eskimåer har över 40 ord för snö, men bara 3 för bottenlån med rörlig ränta.

257 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)