JS获取图片高度宽度的方法分享


Posted in Javascript onApril 17, 2015

一般获取图片高度宽度的写法:

var img = new Image();

img.src = imgsrc;

var imgWH = CalcImgTiple(img.width, img.height);

但chrome中测试 无法获取到。img.width, img.height都为0

原因:当图片不是本地图片,而是网络图片
onload 在成功地装载了图像时调用的事件处理程序。

在做web开发,其中有一个需求:利用Javascript获取要加载的图片的尺寸,所以很自然的,想到了img的onload方法,在firefox下开发完成后,到IE下调试,发现img的onload事件很多情况下都不被调用。

最初的代码如下:

var img = new Image;

img.src = "test.gif";

img.onload = function(){

alert ( img.width );

};

这段代码看着没什么问题,但是为什么onload没有被IE调用呢?因为IE会缓存图片,第2次加载的图片,不是从服务器上传过来的,而是从缓冲区里加载的。是不是从缓冲区里加载的图片就不触发onload事件呢?我于是我测试了以下代码,成功了~

var img = new Image;

img.onload = function(){

alert ( img.width );     };

img.src = "test.gif";

把onload写到前面去,先告诉浏览器如何处理这张图片,再指定这张图片的源,这样就正常了。所以,不是IE没有触发onload事件,而是因为加载缓冲区的速度太快,以至于没有运行到img.onload的时候,onload事件已经触发了。这让想到了Ajax,在写xmlhttp的时候,都是先指定onstatechange的回调函数,然后再send数据的,道理是一样的

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
Javascript 陷阱 window全局对象
Nov 26 Javascript
jQuery 扩展对input的一些操作方法
Oct 30 Javascript
JavaScript实用技巧(一)
Aug 16 Javascript
js/jquery获取文本框输入焦点的方法
Mar 04 Javascript
javascript中关于&& 和 || 表达式的小技巧分享
Apr 10 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
May 27 Javascript
KnockoutJS 3.X API 第四章之数据控制流foreach绑定
Oct 10 Javascript
微信小程序-消息提示框实例
Nov 24 Javascript
Bootstrap实现导航栏的2种方式
Nov 28 Javascript
vue项目中常见问题及解决方案(推荐)
Oct 21 Javascript
Vue.extend 编程式插入组件的实现
Nov 18 Javascript
uni-app微信小程序登录授权的实现
May 22 Javascript
JS替换字符串中空格方法
Apr 17 #Javascript
最简单的JavaScript验证整数、小数、实数、有效位小数正则表达式
Apr 17 #Javascript
jQuery实现自定义事件的方法
Apr 17 #Javascript
jQuery插件slides实现无缝轮播图特效
Apr 17 #Javascript
js实现touch移动触屏滑动事件
Apr 17 #Javascript
JavaScript实现控制打开文件另存为对话框的方法
Apr 17 #Javascript
JavaScript对象反射用法实例
Apr 17 #Javascript
You might like
浅析十款PHP开发框架的对比
2013/07/05 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
2019/11/21 PHP
不用MOUSEMOVE也能滑动啊
2007/05/23 Javascript
北京奥运官方网站幻灯切换效果flash版打包下载
2008/01/30 Javascript
javascript获取当前ip的代码
2009/05/10 Javascript
基于jQuery的Spin Button自定义文本框数值自增或自减
2010/07/17 Javascript
jquery动态导航插件dynamicNav用法实例分析
2015/09/06 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
Spring mvc 接收json对象
2015/12/10 Javascript
jQuery中通过ajax的get()函数读取页面的方法
2016/02/29 Javascript
全面了解JavaScript对象进阶
2016/07/19 Javascript
js实现的页面加载完毕之前loading提示效果完整示例【附demo源码下载】
2016/08/02 Javascript
bootstrap实现的自适应页面简单应用示例
2017/03/09 Javascript
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
Vue.js路由实现选项卡简单实例
2019/07/24 Javascript
vue 的 solt 子组件过滤过程解析
2019/09/07 Javascript
使用webpack搭建vue环境的教程详解
2019/12/31 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
在Mac OS上使用mod_wsgi连接Python与Apache服务器
2015/12/24 Python
python下10个简单实例代码
2017/11/15 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
用Python爬取QQ音乐评论并制成词云图的实例
2019/08/24 Python
浅谈keras2 predict和fit_generator的坑
2020/06/17 Python
python 装饰器的基本使用
2021/01/13 Python
在css3中background-clip属性与background-origin属性的用法介绍
2012/11/13 HTML / CSS
土建工程师岗位职责
2014/06/10 职场文书
节能标语大全
2014/06/21 职场文书
律师授权委托书范本
2014/10/07 职场文书
小学少先队辅导员述职报告
2015/01/10 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
MySQL不使用order by实现排名的三种思路总结
2021/06/02 MySQL
Python jiaba库的使用详解
2021/11/23 Python
Java8 Stream API 提供了一种高效且易于使用的处理数据的方式
2022/04/13 Java/Android