我写了个代码大家看看应该怎么改<img src="715.gif" onload='if(this.clientWidth>120)this.Width=120 ; if(this.clientHeight>120)this.Height=120'>这个代码好象只执行分号之前的程序,对Height不起作用。

解决方案 »

  1.   

    function imgresize(e){
       if (e.clientWidth<120){
           var ver=e.Width/100;
           e.Width=e.Width/ver;
           e.Height=e.Height/ver;
        }
       //高雷同处理
    }
      

  2.   

    <img src="715.gif" onload="ResizeImage(this,120)" >
    <script>
    function ResizeImage(eSrc,iMinPixel){
        var minWidth=null;
        var minHeight=null;
        var bMinDir=null; //判断高度和宽度哪个小
        bMinDir=(eSrc.availWidth>eSrc.availHeight)?true:false;
        if(bMinDir){ //宽大于高
            minHeight=iMinPixel;
            minWidth= eSrc.availWidth /eSrc.availHeight * iMinPixel;
        }
        else{
            minWidth=iMinPixel;
            minHeight=eSrc.availHeight / eSrc.availWidth * iMinPixel;
        }    if(eSrc.availWidth <minWidth){
            eSrc.width=minWidth;
        }
        if(eSrc.availHeight <minHeight){
            eSrc.height=minHeight;
        }
    }
    </script>代码大致的思路就是如此了哦,so faint的说,有些时候style.height或者clientHeight乃至offsetHeight都不太管用,就是对于图片的大小计算有问题,我这里采用了object.availWidth,如果还有问题的说,建议使用object.currentStyle.height这个东西了