JS: SwapImage

rookie

Erfahrenes Mitglied
Hi Leute,
ich versuche mich gerade in JavaScript und wollte ein einfaches Skript schreiben, dass beim anklicken das Bild ändert. Leider bekomme ich immer wieder den Fehler, dass ein Objekt beim Aufruf der Funktion erwartet wird.

HTML:
<SCRIPT LANGUAGE=JavaScript>
function swapImage(elementId) {
	if(document.getElementById(elementId).src == 'plus.gif')
		document.getElementById(elementId).src == 'plus.gif';
	else
		document.getElementById(elementId).src == 'minus.gif';
 }
}
</SCRIPT>

<IMG id="img1" src="plus.gif" onClick="swapImage(this.id);">

Danke für eure Hilfe!
 
Du hast eine schließende Klammer zu viel.
Javascript:
		<script language="JavaScript" type="text/javascript">
			function swapImage(id) {
				if(document.getElementById(id).src != 'plus.gif')
					document.getElementById(id).src = 'plus.gif';
				else
					document.getElementById(id).src = 'minus.gif';
			 }
		</script>
 
Zuletzt bearbeitet:
Hat bestimmt was mit dden DOM dingern zu tuhen >.<
Kenn ich mich nicht so gut aus hab aber ne andere Lösung für dich :)
PHP:
<SCRIPT LANGUAGE=JavaScript>
function swapImage(elementId) {
	if(document.getElementById(elementId).innerHTML == '<IMG src="plus.gif">')
		document.getElementById(elementId).innerHTML = '<IMG src="minus.gif">';
	else
		document.getElementById(elementId).innerHTML = '<IMG src="plus.gif">';
 }
}
</SCRIPT>

<div id="img1" onClick="swapImage(this.id);" style="cursor:pointer;"><IMG src="plus.gif"></div>
 
Zuletzt bearbeitet:
Also, das mit der schließenden Klammer war schon mal sehr gut. Jetzt hab ich wenigstens keinen Fehler mehr beim Anklicken.
Aber den erwünschten Effekt habe ich leider immer noch nicht.

HTML:
<SCRIPT LANGUAGE=JavaScript>
function swapImage(elementId)
{
	if(document.getElementById(elementId).src == "plus.gif")
		document.getElementById(elementId).src == "minus.gif";
	else
		document.getElementById(elementId).src == "plus.gif";
}
</SCRIPT>

<IMG id="IMG1" src="plus.gif" onClick="swapImage(this.id);">

Nach meinen Überlegungen müsste es doch so klappen. Oder bin ich irgendwie verkehrt davor?
 
Hab meinen Code oben editiert. Waren noch zwei Fehler drin. Du prüfst, ob src plus.gif entspricht, wenn das der Fall ist, SETZT du aber src wieder auf plus.gif, obwohl du eigendlich auf minus.gif setzen musst. Außerdem erfolgen Zuweisungen in JS mit einem einfachen = und nicht mit einem doppelten. Doppelt ist immer ein Vergleich.
 
Danke ich hab die Fehler verbessert. Sehr dumme Fehler. Ich glaub ich bin blind. Hab' da so lange drauf geschaut und das nicht gesehen.
Hab' den Code jetzt übernommen, leider ändert sich das bild nicht :-( Einer Fenster öffnet sich jedoch, also ist der Vergleich nicht richtig, aber ich weiss nicht was daran falsch ist.:confused:
HTML:
<script language="JavaScript" type="text/javascript">
function swapImage(id) {
	var plus = 'plus.gif';
	var minus = 'minus.gif';
	
	if(document.getElementById(id).src != plus) {
		alert();
		document.getElementById(id).src = plus;
	}
	else {
		document.getElementById(id).src = minus;
	}
}
</script>
<img id="domain" src="plus.gif" onClick="swapImage(this.id); return false;">

// EDIT

hab's gefunden!
in der Variablen document.getElementById(id).src steht
file:///C:/Dokumente%20und%20Einstellungen/Kai/Desktop/click-expand01/plus.gif

gibt es eine andere möglichkeit, zu überprüfen, ob es sich bei dem Bild um das "plus.gif" handelt?

Danke
 
Code:
	if(document.getElementById(id).src.indexOf('plus.gif') == -1) {
		document.getElementById(id).src = plus;
	}
 

Neue Beiträge

Zurück