【发布时间】:2010-09-18 13:21:21
【问题描述】:
我有一个包含 PNG 图像的 div,如下所示:
<div id="pop" class="pop_komm">
<img src="Graphics/komm.png">
</div>
我有一个在下拉列表的“OnChange”事件上触发的 js 代码:
<select onchange="fadeIn('pop');" name="list" etc></select>
这里是js代码:
function setOpacity(eID, opacityLevel) {
var eStyle = document.getElementById(eID).style;
eStyle.opacity = opacityLevel / 100;
eStyle.filter = 'alpha(opacity='+opacityLevel+')';
}
function getElm(eID) {
return document.getElementById("pop");
}
function show(eID) {
getElm(eID).style.display='block';
}
function hide(eID) {
getElm(eID).style.display='none';
}
function fadeIn(eID) {
setOpacity(eID, 0); show(eID); var timer = 0;
for (var i=1; i<=100; i++) {
setTimeout("setOpacity('"+eID+"',"+i+")", timer * 2);
timer++;
}
setTimeout("fadeOut('"+eID+"')", 5000);
}
function fadeOut(eID) {
var timer = 0;
for (var i=100; i>=1; i--) {
setTimeout("setOpacity('"+eID+"',"+i+")", timer * 2);
timer++;
}
setTimeout("hide('"+eID+"')", 310);
}
问题是不透明度使PNG角落变得粗糙和黑色,并且PNG的透明度根本无法正常工作。 我尝试过使用 pngfix,如果 PNG 没有“褪色”效果,它确实有帮助。但是一旦我应用这种淡入淡出效果,我就会遇到同样的问题。
以前一定有人解决过这个问题,所以请给我建议如何解决它。
我用谷歌搜索找到了this,但我真的不知道他的意思。
如果您需要更多信息,请告诉我...
顺便说一句,这适用于除 IE6、7 和 8 之外的所有主流浏览器。
谢谢
【问题讨论】:
标签: javascript html css internet-explorer browser