js判断图片加载完成后获取图片实际宽高的方法


Posted in Javascript onFebruary 25, 2016

本文实例讲述了js判断图片加载完成后获取图片实际宽高的方法。分享给大家供大家参考,具体如下:

通常,我们会用jq的.width()/.height()方法获取图片的宽度/高度或者用js的.offsetwidth/.offsetheight方法来获取图片的宽度/高度,但这些方法在我们通过样式设置了图片的宽高后获取的就不是图片的实际宽高,这显然在有些时候不是我们想要的结果,那么有没有一种方法来获取这样的实际宽高呢?答案是有的。下面的代码就能解决这样的问题:

<img src="01.jpg" id="test" width="250px">

js code:

//图片加载完成后获取图片实际宽高
var _test = document.getElementById("test");
test.onload = function(){
  imgSize.call(_test);
}
function imgSize(){
  var imgObj = new Image();
  imgObj.src = this.src;
  alert(imgObj.width + "\n" + imgObj.height);
}

如果想在其他方法中调用这个实际的宽高,应该将alert(imgObj.width + "\n" + imgObj.height);改为return imgObj,然后是调用的方法:

window.onload = function(){
    function a(){
      var real= imgSize.call(_test);
      var realwidth = real.width;
      alert(realwidth);
    }
    a();
}

以上方法过于繁琐,经过本人的提炼,简写如下:

window.onload = function(){
    var _test = document.getElementById("test"); //若是jq,则直接将此代码换成 var _test = $("#test"); 即可。
    var imgObj = new Image();
    imgObj.src = _test.src; //若是jq,则直接将此代码换成 imgObj.src = _test.attr("src"); 即可。
    alert(imgObj.width);
}

这样,就可以在其他方法里直接调用图片的实际宽高了。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jQuery Autocomplete自动完成插件
Jul 17 Javascript
Google的跟踪代码 动态加载js代码方法应用
Nov 12 Javascript
JS在TextArea光标位置插入文字并实现移动光标到文字末尾
Jun 21 Javascript
js完美的div拖拽实例代码
Jan 22 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
Nov 30 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
Dec 26 Javascript
jquery实现页面常用的返回顶部效果
Mar 04 Javascript
前端jquery部分很精彩
May 03 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
Oct 20 Javascript
canvas实现绘制吃豆鱼效果
Jan 12 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
Dec 30 Javascript
JavaScript React如何修改默认端口号方法详解
Jul 28 Javascript
JS面向对象(3)之Object类,静态属性,闭包,私有属性, call和apply的使用,继承的三种实现方法
Feb 25 #Javascript
jquery zTree异步加载简单实例讲解
Feb 25 #Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
Feb 25 #Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
Feb 25 #Javascript
JQuery ztree带筛选、异步加载实例讲解
Feb 25 #Javascript
jquery ztree实现模糊搜索功能
Feb 25 #Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
Feb 25 #Javascript
You might like
php is_file 判断给定文件名是否为一个正常的文件
2010/05/10 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
JScript中的undefined和&quot;undefined&quot;的区别
2007/03/08 Javascript
DOM下的节点属性和操作小结
2009/05/14 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
js 剪切板的用法(clipboardData.setData)与js match函数介绍
2013/11/19 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
JavaScript定时器和优化的取消定时器方法
2015/07/03 Javascript
ionic实现带字的toggle滑动组件
2016/08/27 Javascript
详解bootstrap的modal-remote两种加载方式【强化】
2017/01/27 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
2017/09/19 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
微信小程序实现简易table表格
2020/06/19 Javascript
使用Vant完成Dialog弹框案例
2020/11/11 Javascript
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
使用Python实现一个简单的项目监控
2015/03/31 Python
详解Python编程中基本的数学计算使用
2016/02/04 Python
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
从头学Python之编写可执行的.py文件
2017/11/28 Python
Python3中的json模块使用详解
2018/05/05 Python
python使用opencv驱动摄像头的方法
2018/08/03 Python
对Python的多进程锁的使用方法详解
2019/02/18 Python
pymongo中group by的操作方法教程
2019/03/22 Python
Django实现基于类的分页功能
2019/10/31 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
GitHub上值得推荐的8个python 项目
2020/10/30 Python
python上下文管理的使用场景实例讲解
2021/03/03 Python
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
五年级数学教学反思
2014/02/11 职场文书
大学生军训感想
2014/02/16 职场文书
扩大国家免疫规划实施方案
2014/03/21 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
2020年元旦晚会策划书模板
2019/12/30 职场文书
win10电脑右下角输入法图标不见了?Win10右下角不显示输入法的解决方法
2022/07/23 数码科技