Ich habe eine Reihe von Bildern, deren Quelle sich bei Mouseover ändern soll. Mein Code funktioniert in allen Bereichen außer IE 7 und 8 einwandfrei. Wenn ich den Mauszeiger über das Bild halte, wird es nur zu einem fehlerhaften Bildlink.
Mein Code ist:
$(".socialicon").each(function() {
$(this).find("img")
.mouseover(function() {
var src = $(this).attr("src").match(/[^.]+/) + "hover.png";
$(this).attr("src", src);
})
.mouseout(function() {
var src = $(this).attr("src").replace("hover.png", ".png");
$(this).attr("src", src);
});
});
Würde jemand wissen, ob es etwas gibt, das ich ändern muss, damit diese Arbeit in IE 7 und 8 funktioniert?
Antworten:
2 für die Antwort № 1Sie sollten auf IE7 & 8 debuggen - was ist der Wert von $(this).attr("src")
und was src
Attribut hat das Element nach Eingabe mit der Maus über das Element geführt? Ich nehme an, dass der IE möglicherweise einen absoluten Pfad zum Bild zurückgibt, wie "http://example.com/image.png"- in diesem Fall würde Ihr RegEx nicht funktionieren.
Warum nicht anrufen?
var src = $(this).attr("src").replace(".png", "hover.png");
Anstatt von
var src = $(this).attr("src").match(/[^.]+/) + "hover.png";
Dies wäre konsequenter in Bezug auf die mouseout
Methode.