1 function correctPNG(objTag) {
2 // 为 IE 时生效
3 if(jQuery.browser.msie) {
4 $(objTag).each(function(){
5 var src = $(this).attr(“src”);
6 // src 不为空,且为 png 格式图片
7 if (src != undefined && src.substring(src.length – 3, src.length).toLowerCase() == “png”) {
8 // 取出图片原有属性
9 var imgId = $(this).attr(“id”);
10 imgId = imgId == undefined ? ” : imgId;
11 var imgClass = $(this).attr(“class”);
12 imgClass = imgClass == undefined ? ” : imgClass;
13 var imgTitle = $(this).attr(“title”);
14 imgTitle = imgTitle == undefined ? ” : imgTitle;
15 var imgStyle = $(this).attr(“style”);
16 imgStyle = imgStyle == undefined ? ” : imgStyle;
17 imgStyle = “display:inline-block;” + imgStyle;
18 var imgAlign = $(this).attr(“align”);
19 // 图片对齐属性转为样式
20 switch(imgAlign) {
21 case “left”:
22 imgStyle = “float:left;” + imgStyle;
23 break;
24 case “right”:
25 imgStyle = “float:right;” + imgStyle;
26 break;
27 }
28 // 父标签为 a 时,应用鼠标样式为手指
29 if ($(this).parent().get(0).tagName.toLowerCase() == “a”) {
30 imgStyle = “cursor:hand;” + imgStyle;
31 }
32 // 设置宽高
33 imgStyle = “width:” + $(this).width() + “px; height:” + $(this).height() + “px;” + imgStyle;
34 // 设置 IE 的 PNG 透明滤镜
35 imgStyle = “filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\”“ + src + “\”,sizingMethod=\”scale\”);” + imgStyle;
36 // 替换 img 标签为 span
37 $(this).replaceWith(“<span id=’” + imgId + “‘ class=’” + imgClass + “‘ title=’” + imgTitle + “‘ style=’” + imgStyle + “‘></span>”);
38 }
39 });
40 }
41 }
Leave a Reply