我在这个站点上找到了这个脚本,它有助于在 IE 中淡入/淡出透明 .png,而在淡入淡出效果期间透明部分被黑色填充:
var i;
for (i in document.images) {
if (document.images[i].src) {
var imgSrc = document.images[i].src;
if (imgSrc.substr(imgSrc.length-4) === '.png' || imgSrc.substr(imgSrc.length-4) === '.PNG') {
document.images[i].style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled='true',sizingMethod='crop',src='" + imgSrc + "')";
}
}
}
这个脚本是由这个 stackoverflow 用户创建的,它在我的网站上运行良好。但是,我想稍微修改一下。此脚本在我的页面上查找所有 .png 文件并应用过滤器。但是,这可能会导致性能问题,因为我的网站上有许多透明的 .png 文件,但我只需将此过滤器应用于其中一个。它是一个固定位置的菜单 DIV 背景图像,在页面滚动时使用 jQuery 淡入淡出。
有人可以帮我修改这个脚本,以便我可以只为它提供一个图像或使用 getElementById("menu") 并让它应用这个过滤器。我尝试过的任何方法似乎都不起作用,并且将过滤器放入我的 CSS 中也不起作用,因此 javascript 方式似乎是要走的路。我只需要在一个.png 上使用它,而不是全部。
请记住,这是 div #menu 的背景图像,因此图像本身没有 ID,当然 div 有。任何帮助将不胜感激。