解决"ie6下png透明图片"的兼容问题之js方法

分类栏目: js

838℃

放飞梦 发布于 发表评论

IE6不支持PNG半透明图片的缺陷为web设计带来了极大的不便,之前曾经介绍过用滤镜+hack的方法实现显示PNG,不过实现起来相当繁琐。还有一种网上比较流行的方法,更加简便,下面详细介绍这种方法:

把以下代码保存为correctpng.js

 

 

function correctPNG()    
{    
 for(var i=0; i<document.images.length; i++)    
 {    
  var img = document.images[i]    
  var imgName = img.src.toUpperCase()    
  if (imgName.substring(imgName.length-3, imgName.length) == "PNG")    
  {    
  var imgID = (img.id) ? "id='" + img.id + "' " : ""    
  var imgClass = (img.className) ? "class='" + img.className + "' " : ""    
  var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "    
  var imgStyle = "display:inline-block;" + img.style.cssText    
  if (img.align == "left") imgStyle = "float:left;" + imgStyle    
  if (img.align == "right") imgStyle = "float:right;" + imgStyle    
  if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle    
  var strNewHTML = "<span " + imgID + imgClass + imgTitle    
  + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"    
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"    
  + "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"    
  img.outerHTML = strNewHTML    
  i = i-1    
  };    
 };    
};    
if(navigator.userAgent.indexOf("MSIE")>-1)    
{    
window.attachEvent("onload", correctPNG);    
};   

  友情赞助
微信二维码
支付宝二维码
  选择分享方式

版权:若无特殊注明,本文皆为放飞梦原创,转载请保留文章出处。

链接:解决"ie6下png透明图片"的兼容问题之js方法 - http://www.lauxin.net/js/79.html

发表评论
    已评论(0)