2009-10-20 6 views
1

나는 Drew Dillard의 멋진 DD_belatedPNG fix + jQuery를 사용하여 호버 -에서 PNGs를 사용하여 실제 이미지 스왑을 달성하고 IE6에서 작업합니다.DD_belatedPNG.js - vml 객체에 액세스하는 방법? 이것은 PNG 이미지 스왑을위한 것입니다

예 : <a id="thelink" href="blah.html"><img src="f-u-ie6.png" /></a>

DD의 스크립트는 "숨겨진", 당신은 효과적으로 위에 마우스를 올려 수 없습니다하는 원본 이미지의 가시성을 설정입니다. 많은 사람들이, 나는이 제한에 의해 방해 받았다는 것을 알아 차렸다. Drew가 PNG 픽스의 다음 버전으로 해결하려고 노력할 것이라고 언급 한만큼.

글쎄, 그 동안에는 이미지 부모의 호버 이벤트를 처리하여이 문제를 해결할 수 있다고 생각했습니다. 그래서 onmouseover, DD_belatedPNG에 의해 생성 된 VML 객체를 숨기고 "thelink"에 배경 이미지를 설정하고 onmouseout에 VML 객체를 다시 표시하고 배경 이미지를 아무 것도 설정하지 않습니다.

다음 코드는 VML 객체에 액세스 할 수 있는지 만 확인했지만 VML에서는 작동하지 않습니다. VML이 아니라 다른 모든 어린이를 숨 깁니다. 어떤 아이디어?

$(document).ready(function(){ 
    $("thelink").hover(function() { 
    $(this).children().attr({ 
     style: "visibility:hidden" 
    }); 
    }, function() { 
    $(this).children().attr({ 
     style: "visibility:visible" 
    }); 
    }); 
}); 

다른 방법으로 훌륭한 PNG 이미지 스왑 방법을 제안 할 수 있습니까? 링크의 배경 이미지를 바꿀 수 있다는 것을 알고 있습니다. 하지만 여전히 A 태그 안에 뭔가가 있어야합니다. 그건 내 사건이 아니야. 또한 A 태그에 투명한 GIF를 넣고 효과를 내기 위해 배경 이미지를 바꿀 수도 있지만 실제로 그렇게하고 싶지는 않습니다. 통찰력을 가져 주셔서 감사합니다!

답변

0

DD_belatedPNG 수정 사항을 사용할 때 innerHTML (브라우저 주소 표시 줄에서 javascript 사용)을보고 내 PNG를 표시하는 VML 객체를 생성하는 코드를 본 후 다른 압정을가집니다.

지금은 TwinHelix's IE PNG Fix입니다. A 태그에는 OFF 및 ON 상태 PNG가 있지만 ON 상태 이미지는 display: none으로 설정됩니다. 나는이 이미지를 토글하기 위해 jQuery를 사용하고있다. 특정 코드는 내 other post을 참조하십시오.

이 모든 것이 PNG 롤오버가 IE6에서 작동하는지 확인하기위한 것입니다.