偶在 http://community.csdn.net/Expert/TopicView3.asp?id=4258236 下面找到两种方法<img src="1.jpg" onmouseover="src=(src.indexOf('1.jpg')>-1)?'2.jpg':'1.jpg';" onmouseleave="src=(src.indexOf('2.jpg')>-1)?'1.jpg':'2.jpg';">和<img src="1.jpg" onmouseover="src='2.jpg';" onmouseleave="src='1.jpg';">但在ie下对png图片不适用, firefox下适用. 请问有什么办法能让两张png图片在ie下也交换显示吗?非常急!! 万分感谢.
-------------
此类问题DREAMWEAVER已经提供功能,不需要自己写,别人都替你搞好了

解决方案 »

  1.   

    <img src="1.png" onmouseover="src='2.png';" onmouseleave="src='1.png';"><img src="1.png" onmouseover="src=(src.indexOf('1.png')>-1)?'2.png':'1.png';" onmouseleave="src=(src.indexOf('2.png')>-1)?'1.png':'2.png';">
      

  2.   

    偶这两种方法都试过了. 但是对png不行呀.
    偶想可能是因为偶运行了是png图片在ie7.0以前版本也能透明的js, 所以才会有影响.在页面中偶添加了
    <!--[if lt IE 7]><script type="text/javascript" src="pngfix.js"></script><![endif]-->这个js如下
    // Correctly handle PNG transparency in Win IE 5.5 or higher.
    // http://homepage.ntlworld.com/bobosola. Updated 02-March-2004function 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
         }
          }
       }
    window.attachEvent("onload", correctPNG);
    偶是不太懂啦, 有没有高手可以修改这个js, 使png在ie下可以继续透明显示, 并且不影响偶换图片?
    @sanshisong(三师兄) , 一来偶手上没有dw, 二来由于这个js, 偶也不确定使用dw之后能不能得到期望的效果, 三来偶觉得dw生成的code可能会比较乱. 所以希望首先尝试顶楼里提到的方法.请各位帮忙了. 多谢了
      

  3.   

    偶试过了, 的确是因为这个js的缘故, 请大家帮忙修改一下js吧, 谢谢啦.
      

  4.   

    png在ie下可以继续透明显示,IE7b1是不能的~b2的不知道~
     仔细一看JS原来是滤镜透明图片~~ onmouseover等事件不会再调用correctPNG()
    再后面再加个 onmouseover最后面加个correctPNG()就行
    以上做法 >_<  资源浪费~~
    要是再在事件里写代码~又成代码浪费 ~  
    重写correctPNG() 改成两个~`可是~懒~~闪人