webForumDet fria alternativet

Två, små? problem

JavaScriptur Javascript

2 svar · 784 visningar · startad av Thomasa

Medlem sedan aug. 2002351 inlägg
Frågan#1

hello!

Har en sak som jag inte får till, men det borde inte vara så svårt?

När man klickar på lift motors så ska plusset bli ett minus och när man sen klickar så ska den byta tillbaka, någon som kan ge ett tips?

Titta på denna url:
http://liko.cqtest.se/web/frameset.asp?topnumber=2&market=&marketid=135&pageid=4608&menuid=1679

tacksam för hjälp!

Medlem sedan feb. 200563 inlägg
#2

Re: Två, små? problem

Thomasa skrev:

Fråga 1: När man klickar på lift motors så ska plusset bli ett minus och när man sen klickar så ska den byta tillbaka, någon som kan ge ett tips?

Här är ett kodexempel som illustrerar ett möjligt sätt att byta bilder:

String.prototype.endsWith = function (sSubString) {
	 if (sSubString.length > this.length) {
		 return false;
	 }
	 return this.substring(this.length - sSubString.length) == sSubString;
}

// Nedanstående funktions precondition: Strängen img2Path får inte sluta med strängen img1Path.
// Exempelvis skulle funktionen inte fungera med anropet toggle(this, "a.gif", "aa.gif")
// men däremot skulle den fungera med anropet toggle(this, "aa.gif", "a.gif")
function toggleImages(oImg, img1Path, img2Path)
{
	// Strängen oImg.src nedan blir en fullständig/absolut sökväg
	if(oImg.src.endsWith(img1Path)) {
		// if-satsen ovan kan bytas ut mot 'if(oImg.src == img1Path)'
		// ifall man ändrar funktionens precondition till att img1Path
		// måste vara en absolut sökväg
		// (självklart kan man som ett annat alternativ skriva kod 
		//  som extraherar själva bildnamnet, d.v.s. slutet på URL:en,
		//  ifrån den fullständiga sökvägen oImg.src)
		oImg.src = img2Path;
	}
	else {
		oImg.src = img1Path;
	}
}

<img onclick="toggleImages(this, 'plus.gif', 'minus.gif')" src="plus.gif" />

Om du vill trigga ett bildbyte med ett klick på ett annat objekt än img-objektet självt, t.ex. med ett klick på en knapp eller en a-tagg, så kan du lägga in ett id-attribut i img-elementet och då istället låta första parametern till funktionen vara lika med bildens id för att då i början av funktionen köra:
var oImg = document.getElementById(idImg);

/ Tomas

Medlem sedan aug. 2002351 inlägg
#3

funkade finfint, tacktack

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