/ / JQuery change l'image src sur mouseover ne fonctionne pas dans IE7 et 8 - javascript, jquery, internet-explorer, internet-explorer-8, internet-explorer-7

JQuery change l'image src au passage de la souris ne fonctionne pas dans IE7 et 8 - javascript, jquery, internet-explorer, internet-explorer-8, internet-explorer-7

J'ai un ensemble d'images dont je veux que la source change au survol de la souris. Mon code fonctionne très bien dans tout sauf IE 7 et 8 - lorsque je survole l'image, il se transforme simplement en un lien d'image rompu.

Mon code est:

$(".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);
});
});

Quelqu'un pourrait-il savoir s'il y a quelque chose que je dois changer pour que ce travail fonctionne dans IE 7 et 8?

Réponses:

2 pour la réponse № 1

Vous devez déboguer sur IE7 et 8 - quelle est la valeur de $(this).attr("src") et quoi src L'attribut a l'élément après entrée avec la souris sur l'élément? Je suppose que l'IE renvoie peut-être un chemin absolu vers l'image, comme "http://example.com/image.png"- dans ce cas, votre RegEx ne fonctionnerait pas.

Pourquoi ne pas appeler

var src = $(this).attr("src").replace(".png", "hover.png");

au lieu de

var src = $(this).attr("src").match(/[^.]+/) + "hover.png";

ce serait plus cohérent en ce qui concerne la mouseout méthode.