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的cookie插件
Apr 07 Javascript
jQuery中的基本选择器用法学习教程
Apr 14 Javascript
深入浅析search 搜索框的写法
Aug 02 Javascript
js HTML5手机刮刮乐代码
Sep 29 Javascript
JavaWeb表单及时验证功能在输入后立即验证(含用户类型,性别,爱好...的验证)
Jun 09 Javascript
最全的JavaScript开发工具列表 总有一款适合你
Jun 29 Javascript
seajs实现强制刷新本地缓存的方法分析
Oct 16 Javascript
微信小程序wx.uploadfile 本地文件转base64的实现代码
Jun 28 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
Aug 07 Javascript
Vue resource三种请求格式和万能测试地址
Sep 26 Javascript
vue百度地图 + 定位的详解
May 13 Javascript
JavaScript单线程和任务队列原理解析
Feb 04 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
基于qmail的完整WEBMAIL解决方案安装详解
2006/10/09 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
php session 写入数据库
2016/02/13 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
PHP实现微信提现(企业付款到零钱)
2019/08/01 PHP
Iframe thickbox2.0使用的方法
2009/03/05 Javascript
JS获取父节点方法
2009/08/20 Javascript
读jQuery之十四 (触发事件核心方法)
2011/08/23 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
jquery使用hide方法隐藏指定id的元素
2015/03/30 Javascript
以WordPress为例讲解jQuery美化页面Title的方法
2016/05/23 Javascript
jQuery.Callbacks()回调函数队列用法详解
2016/06/14 Javascript
关于javascript的一些知识以及循环详解
2016/09/12 Javascript
CSS+jQuery实现简单的折叠菜单
2016/12/20 Javascript
值得收藏的vuejs安装教程
2017/11/21 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
Vue 重置组件到初始状态的方法示例
2018/10/10 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
Python Json序列化与反序列化的示例
2018/01/31 Python
python利用itertools生成密码字典并多线程撞库破解rar密码
2019/08/12 Python
详解python中的模块及包导入
2019/08/30 Python
Java文件与类动手动脑实例详解
2019/11/10 Python
手把手教你进行Python虚拟环境配置教程
2020/02/03 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
基于python实现操作redis及消息队列
2020/08/27 Python
css3 border-radius属性详解
2017/07/05 HTML / CSS
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
酒店前台接待岗位职责
2013/12/03 职场文书
师范学院毕业生求职信范文
2013/12/26 职场文书
单位员工收入证明样本
2014/10/09 职场文书
品质保证书格式
2015/02/28 职场文书
篮球赛闭幕式主持词
2015/07/03 职场文书
趣味运动会简讯
2015/07/20 职场文书