unitPngFix阻止更改隐藏的“div”的“显示”

时间:2010-09-18 16:22:24

标签: javascript jquery css internet-explorer browser

我几乎解决了我网站上IE浏览器中png文件和透明度的巨大问题。

问题是只在IE6中,这不会起作用。

我有一个名为unitpngfix.js的代码,可以在IE浏览器中的网站上正确显示透明的PNG图像。

我有一个带有png图像的DIV,如下所示:

<div id="pop" class="pop_komm">
<img src="Graphics/komm.png">
</div>

的CSS:

.pop_komm {
position: absolute;
z-index: 20;
height: 52px;
width: 208px;
left: 760px;
top: 239px;
display:none;
zoom:1;
 }

我有一个非常基本的js代码,用于使容器可见:

 document.getElementById("pop").style.display='block';
 //This triggers on a drop list change event, so this DIV shows when I change a drop list value
然而,这不会起作用。 IE6中没有任何内容。如果我完全删除unitPngFix,那么DIV会显示PNG文件,但透明度不会起作用。

另外,如果我反转js功能并“隐藏”DIV而不是显示它:

    display='none';

然后它工作正常! 换句话说,当隐藏DIV时,unitPngFix会阻止显示PNG文件。我怀疑这里有一个错误!?

任何帮助?

以下是UnitPngFix网站

由于

PS:我也会标记JQuery,因为我可能不得不用它来解决这个问题,但我更喜欢普通的js,因为网站目前只是使用它构建的。

1 个答案:

答案 0 :(得分:0)

不是隐藏它,而是设置一个巨大的左偏移,并且应该应用PNG修复。然后要显示它,将left设置为可见的合法值。

left:-9999em然后展示它,left:760px