IE8的jQuery改变PNG的黑色边缘,当它改变透明度

IE8的jQuery改变PNG的黑色边缘,当它改变透明度
PNG24格式的图片发现添加jQuery隐藏动画,在画面的半透明区域的黑边
在线搜索和搜索有几种方法

1。在PNG-8格式保存图片。

2。一起剪切背景颜色,并将其保存为JPG格式。

以上两种方法我试过,如果效果不好,PNG8格式仍然会有黑边。

uff1a解

1。不要直接改变图片的透明度,而是给图片一个容器来修改容器的透明度。

2。给这个容器一个类似背景颜色的颜色(非常重要,bug的关键是这个步骤)。

一般来说,bug会被解决,如果有问题,请看下面:

三.向容器中添加缩放:1

(我认为这只是一个烟幕弹,并不能从根本上解决问题,似乎只有这样,期待更好的方法)
Javascript代码
功能correctpng(){
无功arversion = navigator.appversion.split(MSIE)
VaR版本= parseFloat(arversion { 1 })
如果((版本= 5.5)(文件.过滤器)){
无功lee_i = 0;
无功docimgs = document.images;
对于(var j = 0;J < docimgs.length;j++){
VaR img = docimgs {,}
无功imgname = img.src.touppercase();
如果(imgname.substring(imgname.length - 3,imgname。长度)= =PNGimg.getattribute!(USEMAP)){
lee_i + +;
无功spanid = img.id + lee_i.tostring('ra_png_)| |;
无功imgdata =新的图像();
imgdata.prodata = spanid;
imgdata.onload =函数(){
$(# +本。奔腾达)Css(宽。
}
imgdata.src = img.src;
VAR imgid =id =++spanid;
无功imgclass =(IMG。className)class=++ img.classname
无功imgtitle =(IMG。标题)title=++ img.title title=+ img.alt +'
无功imgstyle =显示:内联块;+ img.style.csstext
如果(img.align = =左)imgstyle =浮动:左+ imgstyle;
如果(img.align = =右)imgstyle =浮动:右+ imgstyle;
如果(IMG。parentelement。href)imgstyle =鼠标手;+ imgstyle
无功strnewhtml =<跨度+任务+ imgclass + imgtitle
+ style=++宽+ img.width +PX;高度:+ img.height +PX;+ imgstyle +;
+过滤:ProgID:dximagetransform AlphaImageLoader。微软。
(SRC = + img.src + > sizingmethod =规模');
img.outerhtml = strnewhtml;
j = J - 1;
}
}
}
}
确定 / / IE8下面除了三浏览器,浏览器不支持注册侦听器,其他浏览器没有问题
如果(typeof window.addeventlistener = =未定义类型的document.getelementsbyclassname =未定义){
window.attachevent(onload
}

在结束标签页面/体jquery1.8图书馆第一次使用,然后添加上述代码,IE6 78 PNG24表明没有问题,如果你需要进行动画的动画或图片,在IE 678 PNG发现找不到图片,或改变它的位置和透明度地图没有找到响应,原因是correctpng页面上所有PNG img标签与跨度的标签替换,然后用过滤器跨标签:ProgID:dximagetransform.microsoft.alphaimageloader PNG图像将被加载,因此,推荐的做法是用DIV的图片,有一个img标签只允许DIV操作然后位置或在透明的div,例:

$(#试验)。动画({不透明度:0.2,marginleft:500 },1000、函数(){ alert('run完成');});
另一种情况是,我想做透明度和位移,并改变图片的宽度和高度。对于这种情况,我建议使用以下方法。

$($(#测试跨度){ 0 } | | $(#测试IMG){ 0 })。动画({不透明度:0.2,marginleft:500,宽度:'500px,身高:'500px},1000、函数());});

有一些问题需要一起讨论。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部