IE6 PNG 透明问题

pngfix = function() {
var els = document.getElementsByTagName('*');
var ip = /\.png/i;
var i = els.length;
while ( i-- > 0 ) {
var el = els[i];
var es = el.style;
if (el.src && el.src.match(ip) && !es.filter) {
es.height = el.height;
es.width = el.width;
es.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + el.src + "',sizingMethod='crop')";
el.src = clear;
} else {
var elb = el.currentStyle.backgroundImage;
if (elb.match(ip)) {
var path = elb.split('"');
var rep = (el.currentStyle.backgroundRepeat == 'no-repeat') ? 'crop': 'scale';
es.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + path[1] + "',sizingMethod='" + rep + "')";
es.height = el.clientHeight + 'px';
es.backgroundImage = 'none';
var elkids = el.getElementsByTagName('*');
if (elkids) {
var j = elkids.length;
if (el.currentStyle.position != "absolute") es.position = 'static';
while ( j-- >0 ) if (!elkids[j].style.position) elkids[j].style.position = "relative";
}
}
}
}
}

window.attachEvent('onload',pngfix);


如果使用这段js来使得IE6背景透明的话,那么当使用jquery框架来写切换的时候,如果切换的那个类有个背景图片是使用png格式的话,那么次方法就出现问题了,必须要要改成其他的格式,这个问题找我一天才发现,原来滤镜的使用是一次性的,此次记忆深刻啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值