• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

javascript..parameter??

FLU

Braeburn
Registriert
29.11.05
Beiträge
44
Hallo

Ich bin ganz neu dabei was JS anbelangt. Probiere gerade eine kleine Funktion für ein Menu zu basteln. Nichts wildes. Funktioniert jedoch nicht ganz wie ich mir es wünsche...

Hier der Quelltext:

HTML:

<img src="./layout/buttons/home.gif" onmouseover="chng('a')" onmouseout="chng2('a')">
<img src="./layout/buttons/home.gif" onmouseover="chng('b')" onmouseout="chng2('b')">

JS:

function chng(wert){

if (wert = "a"){

document.images("t1").src="./layout/buttons/pfeil.gif";



}



if (wert = "b"){

document.images("t2").src="./layout/buttons/pfeil.gif";



}


}

function chng2(){

if (wert = "a"){

document.images("t1").src="./layout/buttons/none.gif";

}

if (wert = "b"){

document.images("t2").src="./layout/buttons/none.gif";

}
}

Das soll nun ein pfeil einblenden...je nach button ... es blendet aber immer an beiden orten den pfeil ein. Wollte es eigentlich mit a / b beschränken und an die Funktion übergeben...scheint jedoch nicht zu funktionieren!
Bin für jede Hilfe dankbar!

Grüsse
 

seb2

Gast
Du hast wirklich 'wert = "a"' geschrieben?
Das ist eine Zuweisung. Vergleich mit "==" statt "=".
 

FLU

Braeburn
Registriert
29.11.05
Beiträge
44
alles klar! manchmal sollte man mehr schlafen! Thnk das Du mich darauf aufmerksam gemacht hast! Und sorry, dass ich so was in einem Forum schreibe! tja...
 

seb2

Gast
Jeder hat sowas schonmal gemacht, keine Sorge.

Was ich mir angewöhnt habe -- und zuerst gewöhnungsbedürftig aussieht -- ist Folgendes: statt

if (wert == "a")

schreibe ich

if ("a" == wert)

Wenn Du da aus Versehen mal nur ein "=" schreibst gibt das in C schon lange vor dem Kompilieren einen Fehler und auch JavaScript sollte Dir in der Konsole einen Parser-Fehler anzeigen, denn '"a" = wert' ist unzulässig.
Wie gesagt, mit der Konstanten links ist das nicht ganz so natürlichsprachlich aber wenn man sich das einmal zur Gewohnheit gemacht hat und dann mal ein "=" vergißt ist die Fehlersuche wesentlich kürzer.