关于JS判断图片是否加载完成且获取图片宽度的方法


Posted in Javascript onApril 09, 2013

做web的同学们经常会碰到客户上传图片将网页内容区撑破了的情况,下面就这个问题我们一种如何使用js处理这个问题的方法,具体思路就是在js判断客户端的图片下载完毕之后适时的对该图片的宽度或者高度做一些处理,js处理图片主要是利用js中Image对象,通过 onload 事件和 onreadystatechange 来进行判断。

(1)第一中方法,通过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>

(2)第二种方法,使用 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>
Javascript 相关文章推荐
jQuery插件datalist实现很好看的input下拉列表
Jul 14 Javascript
详解javascript new的运行机制
Jan 26 Javascript
Javascript实现通过选择周数显示开始日和结束日的实现代码
May 30 Javascript
jQuery stop()用法实例详解
Jul 28 Javascript
JavaScript面试题(指针、帽子和女朋友)
Nov 23 Javascript
详解Angular 4.x Injector
May 04 Javascript
Vue.js devtool插件安装后无法使用的解决办法
Nov 27 Javascript
详解vue引入子组件方法
Feb 12 Javascript
jquery图片预览插件实现方法详解
Jul 18 jQuery
Vue-CLI项目中路由传参的方式详解
Sep 01 Javascript
element el-tree组件的动态加载、新增、更新节点的实现
Feb 27 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
Oct 19 Javascript
关于JavaScript中的关联数组分析
Apr 09 #Javascript
分析Node.js connect ECONNREFUSED错误
Apr 09 #Javascript
Node.js生成HttpStatusCode辅助类发布到npm
Apr 09 #Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
Apr 08 #Javascript
jQuery学习笔记(2)--用jquery实现各种模态提示框代码及项目构架
Apr 08 #Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
Apr 08 #Javascript
Struts2的s:radio标签使用及用jquery添加change事件
Apr 08 #Javascript
You might like
如何跨站抓取别的站点的页面的补充
2006/10/09 PHP
JavaScript实现删除电脑的关机键
2016/07/26 PHP
PHP对象克隆clone用法示例
2016/09/28 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
2017/09/29 PHP
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
2014/12/20 Javascript
DOM基础教程之使用DOM控制表单
2015/01/20 Javascript
jQuery实现的输入框选择时间插件用法实例
2015/02/28 Javascript
JS实现文字掉落效果的方法
2015/05/06 Javascript
仅30行代码实现Javascript中的MVC
2016/02/15 Javascript
深入理解jquery中extend的实现
2016/12/22 Javascript
javascript滚轮事件基础实例讲解(37)
2017/02/14 Javascript
深入浅析vue组件间事件传递
2017/12/29 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
vue实现form表单与table表格的数据关联功能示例
2019/01/29 Javascript
JavaScript实现星级评价效果
2019/05/17 Javascript
基于form-data请求格式详解
2019/10/29 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
python web基础之加载静态文件实例
2018/03/20 Python
python学生信息管理系统(初级版)
2018/10/17 Python
详解分布式任务队列Celery使用说明
2018/11/29 Python
Python实现的合并两个有序数组算法示例
2019/03/04 Python
关于Python-faker的函数效果一览
2019/11/28 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
PYQT5 vscode联合操作qtdesigner的方法
2020/03/24 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
党支部特色活动方案
2014/08/20 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
员工辞职信范文
2015/03/02 职场文书
2016入党培训心得体会范文
2016/01/08 职场文书
学习社交礼仪心得体会
2016/01/22 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书
python 机器学习的标准化、归一化、正则化、离散化和白化
2021/04/16 Python
MySQL 覆盖索引的优点
2021/05/19 MySQL