比如一张200*200的图片在加载的时候,如下:
<img src="1.jpg" alt="" onload="javascript:if(this.width>160)this.width=160;if(this.height>120)this.height=120;"/>
有时候可以正常显示160*120的比例,有时就撑开了,当然刷新之后就又正常回到160*120的宽高请问大家有什么办法在每次显示这个页面的时候,这张图片都是控制在160*120之内呢?

解决方案 »

  1.   

    不知道我理解的对不对,我原来是调用一段等比例缩放的js,效果还不错,你可以试试看,刚才去网上给你有搜了下,你也可以自己搜下,关键字 js等比例缩放图片下面是我刚才找到的,你可以试试
        在Web上显示图片,通常都会有图片显示比例问题,如果不给<img />限制width和height,那么如果图片大了就会将整个页面挤乱,图片小了又会使图片失真。
        我的需求如下:
            1、预先定义好图片显示的标准宽度和高度。
            2、如果图片的大小超过了标准定义,那么等比例压缩图片。
            3、如果图片的大小等于标准定义,那么按照标准宽度和高度显示图片。
            4、如果图片的大小小于标准定义,那么不对图片进行任何压缩处理。
        可能是我搜索的关键字不对吧,在网上找了很长时间,才找到,感觉很好使。代码如下
    <script language="JavaScript">
    <!--
    //图片按比例缩放
    var flag=false;
    function DrawImage(ImgD,iwidth,iheight){
        //参数(图片,允许的宽度,允许的高度)
        var image=new Image();
        image.src=ImgD.src;
        if(image.width>0 && image.height>0){
        flag=true;
        if(image.width/image.height>= iwidth/iheight){
            if(image.width>iwidth){  
            ImgD.width=iwidth;
            ImgD.height=(image.height*iwidth)/image.width;
            }else{
            ImgD.width=image.width;  
            ImgD.height=image.height;
            }
            ImgD.alt=image.width+"×"+image.height;
            }
        else{
            if(image.height>iheight){  
            ImgD.height=iheight;
            ImgD.width=(image.width*iheight)/image.height;        
            }else{
            ImgD.width=image.width;  
            ImgD.height=image.height;
            }
            ImgD.alt=image.width+"×"+image.height;
            }
        }

    //-->
    </script>
    调用:<img src="images/toplogo.gif" onload="javascript:DrawImage(this,100,100)">
      

  2.   

    var myimg = new Image();
    if(myimg.width > 比较的图片.width)
    {
       //你的处理
    }
      

  3.   

    http://topic.csdn.net/u/20090402/13/6a20a0c0-7403-4728-b182-bfd50b9447fe.html
      

  4.   

    有时候,可能是网速慢点的时候?抑或IE浏览器原因
    在火狐就OK,每次都可以正常显示在那个范围里面?