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中URL编码函数代码
Jan 11 Javascript
jquery如何改变html标签的样式(两种实现方法)
Jan 16 Javascript
js图片自动切换效果处理代码
May 07 Javascript
利用jQuery中的ajax分页实现代码
Feb 25 Javascript
两种JavaScript的AES加密方式(可与Java相互加解密)
Aug 02 Javascript
AngularJS基础 ng-mouseover 指令简单示例
Aug 02 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
Nov 29 Javascript
bootstrap+jQuery实现的动态进度条功能示例
May 25 jQuery
easyui-datagrid开发实践(总结)
Aug 02 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
Oct 25 Javascript
js循环map 获取所有的key和value的实现代码(json)
May 09 Javascript
jquery-ui 进度条功能示例【测试可用】
Jul 25 jQuery
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
Zend Studio 无法启动的问题解决方法
2008/12/04 PHP
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
set_exception_handler函数在ThinkPHP中的用法
2014/10/31 PHP
PHP基于GD库实现的生成图片缩略图函数示例
2017/07/05 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
jquery创建div 实现代码
2009/04/27 Javascript
Javascript图像处理—亮度对比度应用案例
2013/01/03 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
js实现无需数据库的县级以上联动行政区域下拉控件
2013/08/14 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
学习Javascript闭包(Closure)知识
2016/08/07 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图和饼图的组合图效果示例【附demo源码下载】
2017/03/09 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
2019/01/29 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
JS addEventListener()和attachEvent()方法实现注册事件
2021/01/11 Javascript
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
带你了解python装饰器
2017/06/15 Python
全面分析Python的优点和缺点
2018/02/07 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
Python实现在某个数组中查找一个值的算法示例
2018/06/27 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
Python项目打包成二进制的方法
2020/12/30 Python
利用Python如何画一颗心、小人发射爱心
2021/02/21 Python
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
节省高达65%的城市景点费用:Go City
2019/07/06 全球购物
英国最大的独立玩具专卖店:The Entertainer
2019/09/06 全球购物
团工委书记自荐书范文
2013/12/17 职场文书
庆八一活动方案
2014/01/25 职场文书
奠基仪式主持词
2014/03/20 职场文书
个人委托书范文
2015/01/28 职场文书
餐厅开业活动方案
2019/07/08 职场文书
python3操作redis实现List列表实例
2021/08/04 Python