大家经常会使用到<img src="image/logo.gof" />

最重要的是上传时候为了能让上传的图片立马显示出来,所以会用<img />标签将图片显示出来!

但是上传的图片大大小小,非常不一致.

那我们就需要对齐设置高宽进行缩放.

下面介绍兼容IE和FF的获取图片高宽的办法:

第一步,声明全局image对象

 

[javascript] view plain copy
 
 print?
  1. var img = new Image();  

 

这个是为了能够让脚本可以只对一个Image对象进行处理,而且也是兼容IE和FF的必备步骤!

 

第二步,我们要初始化这个Image对象

 

[javascript] view plain copy
 
 print?
  1. function initImage(){  
  2.     //兼容 IE 和 FF 的设置图片  
  3.     img.onload = function() {  
  4.         dealImg(flag);  
  5.     }  
  6.     img.onerror = function() {  
  7.         alert("图片损坏!");  
  8.     }  
  9.     //onLoad的时候,地下一行注释解掉,如果是从changeImage()函数调用过来的,保持注释!  
  10.     //img.src=  "/image/logo.gif";  
  11. }  


以上为封装的初始化函数,需要在页面onLoad的时候去加载,或者在上传控件的值改变时去加载:例如

 

 

[html] view plain copy
 
 print?
  1. <input id="txtUploadFile" type="file" onchange="changeImage()" />  


那么上传控件值改变的时候,如何去设置图片的Src呢,而且还要兼容IE和FF,请看以下函数

 

 

[javascript] view plain copy
 
 print?
  1. function changeImage() {  
  2.     //如果在页面onLoad的时候没有调用initImage(),那么这里就需要调用了  
  3.     initImage();  
  4.     var isIE = (document.all) ? true : false;  
  5.     if(isIE) {  
  6.         img.src = document.getElementById("txtUploadFile").value;  
  7.     } else {  
  8.         //FF 获取本地图片地址的方法  
  9.         img.src = document.getElementById("txtUploadFile").files[0].getAsDataURL();  
  10.     }  
  11. }  


这个时候我们就可以去调用图片的高度和宽度了

 

 

[javascript] view plain copy
 
 print?
  1. var w=img.width;  
  2. var h=img.height;  


好了,下面要进行什么特殊处理,就看各位大侠的发挥了

 

转载请保留本文地址: http://blog.csdn.net/yakson/article/details/7978433

posted on 2016-04-24 14:27  ymlove7  阅读(308)  评论(0)    收藏  举报