解决IE和FF下改变img的src后,获取图片高度和宽度问题

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

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

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

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

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

第一步,声明全局image对象

            var img = new Image();

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


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

            function initImage(){
                //兼容 IE 和 FF 的设置图片
                img.onload = function() {
                    dealImg(flag);
                }
                img.onerror = function() {
                    alert("图片损坏!");
                }
                //onLoad的时候,地下一行注释解掉,如果是从changeImage()函数调用过来的,保持注释!
                //img.src=  "/image/logo.gif";
            }

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

<input id="txtUploadFile" type="file" οnchange="changeImage()" />

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

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

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

        var w=img.width;
        var h=img.height;

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值