JavaScript判断图片加载完成并获取宽度的两种方法
作者:青柠时间:2026-10-27 09:03:29浏览:352
本文介绍在Web开发中,如何利用JavaScript的Image对象判断图片是否加载完成并获取其宽高。主要包含两种实现方式:一是通过onload事件监听,适用于标准浏览器;二是通过onreadystatechange事件判断readyState为complete,兼容部分旧版IE浏览器。代码示例展示了动态创建Image对象、设置src及获取尺寸的具体步骤。
JavaScript判断图片加载完成并获取宽度的两种方法
在Web开发过程中,经常遇到用户上传的图片尺寸过大,导致网页内容区域被撑破的问题。针对这一情况,可以通过JavaScript在客户端图片下载完成后,适时对图片的宽度或高度进行相应处理。JS处理图片的核心在于利用JavaScript中的Image对象,并通过onload事件和onreadystatechange事件来实现加载状态的判断。
通过onload事件判断
第一种方法是通过onload事件来判断图片是否加载完成,具体实现如下:
代码如下:
<script type="text/javascript">
var obj=new Image();
obj.src="http://www.phpernote.com/uploadfiles/editor/201107240502201179.jpg";
obj.onload=function(){
alert('图片的宽度为:'+obj.width+';图片的高度为:'+obj.height);
document.getElementById("mypic").innnerHTML="<img src='"+this.src+"' />";
}
</script>
<div id="mypic">onloading……</div>
通过onreadystatechange事件判断
第二种方法则是使用onreadystatechange事件来进行判断,具体实现如下:
代码如下:
<script type="text/javascript">
var obj=new Image();
obj.src="http://www.phpernote.com/uploadfiles/editor/201107240502201179.jpg";
obj.onreadystatechange=function(){
if(this.readyState=="complete"){
alert('图片的宽度为:'+obj.width+';图片的高度为:'+obj.height);
document.getElementById("mypic").innnerHTML="<img src='"+this.src+"' />";
}
}
</script>
<div id="mypic">onloading……</div>作者最新文章
ES6模块化中js文件怎么用import和export交互
2026-11-05 17:00:48
JS读取本地文件时报错或无响应的常见原因
2026-11-05 16:32:31
let、const与var的区别:JavaScript变量声明最佳实践
2026-11-05 14:16:38
JS中直接定义静态二维数组的字面量写法
2026-11-05 14:16:08
JS 怎么查找字符串中所有匹配项的位置
2026-11-05 14:15:53
