webForumDet fria alternativet

Functions problem

7 svar · 274 visningar · startad av Rossifumi

RossifumiMedlem sedan okt. 20001 208 inlägg
#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

Erik JuhlinMedlem sedan maj 20007 625 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/

Erik JuhlinMedlem sedan maj 20007 625 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/

RossifumiMedlem sedan okt. 20001 208 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

RossifumiMedlem sedan okt. 20001 208 inlägg
#5

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

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

JohnsenMedlem sedan juli 2000718 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

RossifumiMedlem sedan okt. 20001 208 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

JohnsenMedlem sedan juli 2000718 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.

Genererad på 383 ms · cache AV · v20260730165559-full.f96bc7eb