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(二) 事件机制(1)
Nov 25 Javascript
Javascript中定义方法的另类写法(批量定义js对象的方法)
Feb 25 Javascript
Chosen 基于jquery的选择框插件使用方法
May 30 Javascript
javascript怎么禁用浏览器后退按钮
Mar 27 Javascript
Java File类的常用方法总结
Mar 18 Javascript
基于jQuery实现Div窗口震动特效代码-代码简单
Aug 28 Javascript
jQuery mobile的header和footer在点击屏幕的时候消失的解决办法
Jul 01 Javascript
解析如何利用iframe标签以及js制作时钟
Dec 08 Javascript
ajax 提交数据到后台jsp页面及页面跳转问题
Jan 19 Javascript
js实现拖拽上传图片功能
Aug 01 Javascript
jQuery实现数字华容道小游戏(实例代码)
Jan 16 jQuery
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
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
使用WordPress发送电子邮件的相关PHP函数用法解析
2015/12/15 PHP
一个收集图片的bookmarlet(js 刷新页面中的图片)
2010/05/27 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
jquery实现按Enter键触发事件示例
2013/09/10 Javascript
node.js中的fs.linkSync方法使用说明
2014/12/15 Javascript
jQuery源码分析之jQuery.fn.each与jQuery.each用法
2015/01/23 Javascript
jquery插件ajaxupload实现文件上传操作
2015/12/09 Javascript
手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现
2016/08/25 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
ES6中Array.copyWithin()函数的用法实例详解
2017/09/16 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
video.js 实现视频只能后退不能快进的思路详解
2018/08/09 Javascript
分享一个vue项目“脚手架”项目的实现步骤
2019/05/26 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
JS中队列和双端队列实现及应用详解
2020/09/29 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
Python中利用Scipy包的SIFT方法进行图片识别的实例教程
2016/06/03 Python
python连接数据库的方法
2017/10/19 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
Python3 Tkinter选择路径功能的实现方法
2019/06/14 Python
pyqt5中动画的使用详解
2020/04/01 Python
python爬虫线程池案例详解(梨视频短视频爬取)
2021/02/20 Python
利用CSS3实现开门效果实例源码
2016/08/22 HTML / CSS
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
土耳其新趋势女装购物网站:Addax
2020/01/07 全球购物
技能比赛获奖感言
2014/02/14 职场文书
负责人任命书范本
2014/06/04 职场文书
房屋租赁协议书
2014/10/18 职场文书
见习期个人总结
2015/03/05 职场文书
2015年青年志愿者协会工作总结
2015/04/27 职场文书
大学生活委员竞选稿
2015/11/21 职场文书
自荐信大全
2019/03/21 职场文书
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL
css样式important规则的正确使用方式
2022/06/10 HTML / CSS