0

我有一組圖像,我希望源更改鼠標懸停。我的代碼在IE 7和8以外的任何地方都能正常工作 - 當我將鼠標懸停在圖片上時,它只是變成了一個破碎的圖片鏈接。JQuery更改圖像src鼠標懸停不工作在IE7和8

我的代碼是:

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

會有人知道,如果有件事我得改在IE 7和8這項工作?

+0

你可以在mouseover handler中添加一個'console.log(src)'/'alert(src)'嗎? –

回答

2

您應該在IE7上進行調試& 8 - 用鼠標在元素上輸入後,$(this).attr("src")的值和src屬性的元素是什麼?我想,IE可能會返回圖片的絕對路徑,例如「http://example.com/image.png」 - 在這種情況下,您的RegEx無法正常工作。

爲什麼不叫

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

代替

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

這將是更加一致關於mouseout方法。