2017-01-15 5 views
0

Also ich habe zwei Bilder, "safety-pin-green" und "safety-pin-blue" und ich möchte die Bildelemente Quelle je nachdem, welchen Inhalt der Quelle, wenn dies aufgerufen wird, wird dies ändern sei für die Maus über und Maus raus. Hier ist das JavaScript:JavaScript Element src ändern

function changeImage(id) { 
var src = document.getElementById(id).src; 
    if (src.search("green") != 0) { 
     src = src.replace("green", "blue"); 
    } else { 
     src = src.replace("blue", "green"); 
    } 
    document.getElementById(id).src = src; 
} 

und der HTML-Tag ich verwende:

<img id="safety-pin" src="../images/safety-pin-green.jpg" alt="Safety pin" 
    onmouseover="changeImage(id)" onmouseout="changeImage(id)"></img> 

Der Code fast funktioniert, die Bilder gehen blau, aber sie nicht zurück auf das grüne Bild, wenn das Maus verlässt das Bild, irgendwelche Ideen, warum das ist?

Antwort

5

Von MDN Dokumentation von search,

Rückgabewert

Der Index des ersten Spiels zwischen dem regulären Ausdruck und der gegebenen Zeichenfolge; wenn nicht gefunden, -1.

ersetzen

src.search("green") != 0 

mit

src.search("green") !== -1 
+0

Ich sehe, ich war nicht sicher, wie die Suchfunktion funktioniert. Danke :) – Zachary

0

ich es fest :) ein einfaches '>' mein Problem löst.

if (src.search("green") > 0) { 
    src = src.replace("green", "blue"); 
}...