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 相关文章推荐
jquery $.ajax入门应用一
Nov 19 Javascript
在Ajax中使用Flash实现跨域数据读取的实现方法
Dec 02 Javascript
jQuery 开发者应该注意的9个错误
May 03 Javascript
js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
Dec 27 Javascript
JQuery Highcharts 动态生成图表的方法
Nov 15 Javascript
AngularJS基础学习笔记之控制器
May 10 Javascript
Javascript闭包实例详解
Nov 29 Javascript
悬浮广告方法日常收集整理
Mar 18 Javascript
手把手教你搭建ES6的开发运行环境
Jul 11 Javascript
实现一个完整的Node.js RESTful API的示例
Sep 29 Javascript
小程序按钮避免多次调用接口和点击方案实现(不用showLoading)
Apr 15 Javascript
我所理解的JavaScript中的this指向
Sep 04 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 function用法如何递归及return和echo区别
2014/03/07 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
php use和include区别总结
2019/10/13 PHP
laravel 实现向公共模板中传值 (view composer)
2019/10/22 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
IE之动态添加DOM节点触发window.resize事件
2010/07/27 Javascript
基于Jquery实现万圣节快乐特效
2015/11/01 Javascript
jQuery Easyui datagrid连续发送两次请求问题
2016/12/13 Javascript
vue项目总结之文件夹结构配置详解
2017/12/13 Javascript
Jquery的Ajax技术使用方法
2019/01/21 jQuery
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
2019/04/30 Javascript
基于vue如何发布一个npm包的方法步骤
2019/05/15 Javascript
详解小程序云开发攻略(解决最棘手的问题)
2019/09/30 Javascript
微信小程序实现点击生成随机验证码
2020/09/09 Javascript
python和pyqt实现360的CLable控件
2014/02/21 Python
Python3实现将本地JSON大数据文件写入MySQL数据库的方法
2018/06/13 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
Python计算库numpy进行方差/标准方差/样本标准方差/协方差的计算
2018/12/28 Python
wxpython布局的实现方法
2019/11/01 Python
Python倒排索引之查找包含某主题或单词的文件
2019/11/13 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
python输出数学符号实例
2020/05/11 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
python装饰器代码深入讲解
2021/03/01 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
商务英语专业应届毕业生求职信
2013/10/28 职场文书
省三好学生申请材料
2014/01/22 职场文书
公司中层干部的自我评价分享
2014/03/01 职场文书
2014年镇党建工作汇报材料
2014/11/02 职场文书
会计师事务所实习证明
2014/11/16 职场文书
2015年清明节扫墓演讲稿
2015/03/18 职场文书
欢送领导祝酒词
2015/08/12 职场文书
为什么在foreach循环中JAVA集合不能添加或删除元素
2021/06/11 Java/Android
JavaScript实现登录窗体
2021/06/22 Javascript