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 № 1Vous 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.