0

마우스 오버시 소스를 변경하려는 이미지 세트가 있습니다. 내 코드는 IE 7과 8을 제외한 모든 부분에서 정상적으로 작동합니다. 이미지 위로 마우스를 가져 가면 깨진 이미지 링크로 바뀝니다.JQuery change image src가 mouseover에서 작동하지 않습니다. IE7과 8에서 작동하지 않습니다.

내 코드입니다 : 내가 IE 7과 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); 
     }); 
}); 

사람은 알아?

+0

mouseover 핸들러에'console.log (src)'/'alert (src)'를 추가 할 수 있습니까? –

답변

2

IE7에서 디버그해야합니다. & 8 - 요소 위에 마우스로 입력 한 후 $(this).attr("src")의 값은 무엇이고 요소는 src의 요소는 무엇입니까? 제 생각에는 IE가 "http://example.com/image.png"과 같은 이미지의 절대 경로를 반환 할 가능성이 있습니다.이 경우 RegEx가 작동하지 않습니다.

이는 mouseout 방법에 대한 자세한 일치하는 것 대신에

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

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

를 호출하지 왜.