解决方案 »

  1.   

    // JavaScript Document
    function handle_img(tagimg_name,tagimg_width,tagimg_height){
     var img_object=new Image();
     var get_imgs=document.getElementsByName(tagimg_name);
     for(var i=0 ; i<get_imgs.length ; i++){
      img_object.src=get_imgs[i].src;
      //上传的图片宽高均在tagimg_width和tagimg_height以内。则原图片显示
      if(img_object.width<=tagimg_width && img_object.height<=tagimg_height){
       get_imgs[i].height=img_object.height;
       get_imgs[i].width=img_object.width; 
      }
      //如果宽度超过了tagimg_width
      if(img_object.width>tagimg_width){
       if(tagimg_width/img_object.width*img_object.height>tagimg_height){
        var w_width=tagimg_width/img_object.width*img_object.height;
        get_imgs[i].width=(tagimg_height/w_width)*tagimg_width;
        get_imgs[i].height=tagimg_height;
       }else{
        get_imgs[i].height=tagimg_width/img_object.width*img_object.height;
        get_imgs[i].width=tagimg_width;
       }
      }
      //如果高度超过了tagimg_height
      if(img_object.height>tagimg_height){
       if(tagimg_height/img_object.height*img_object.width>tagimg_width){
        var h_height=tagimg_height/img_object.height*img_object.width;
        get_imgs[i].height=(tagimg_width/h_height)*tagimg_height;
        get_imgs[i].width=tagimg_width;
       }else{
        get_imgs[i].width=tagimg_height/img_object.height*img_object.width;
        get_imgs[i].height=tagimg_height;
       }
      }
     }
    }//将以上代码在页面当中引入然后在页面加载完毕后调用 handle_img(tagimg_name,tagimg_width,tagimg_height)函数即可
    //第一个参数为:页面当中img标记的name值
    //第二个参数为:将要设定预览图片宽度
    //第三个参数为:将要设定预览图片高度 
    这个是我之前写好的
      

  2.   

    首先,谢谢你。但是,你可能没明白我的意思,我是说在脚本中插入图片前(图片是在脚本中动态插入的,你可以看一下我的程序script部分),先设置一下图片的尺寸;而你的程序是在脚本中设置已经在body中插入的图片的大小。
      

  3.   

    首先,谢谢你。但是,你可能没明白我的意思,我是说在脚本中插入图片前(图片是在脚本中动态插入的,你可以看一下我的程序script部分),先设置一下图片的尺寸;而你的程序是在脚本中设置已经在body中插入的图片的大小。
    奥,要是插入前改变图片大小那只能用PHP裁切了js好像还不行吧
      

  4.   

    img1.width获取不到img1的宽度吗?  img1.src="img/01.jpg"; 确定获取到图片啦?