关于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 相关文章推荐
简单三步,搞掂内存泄漏
Mar 10 Javascript
js tab效果的实现代码
Dec 26 Javascript
风吟的小型JavaScirpt库 (FY.JS).
Mar 09 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
Aug 10 Javascript
使用typeof方法判断undefined类型
Sep 09 Javascript
node.js中的http.createServer方法使用说明
Dec 14 Javascript
DOM 事件流详解
Jan 20 Javascript
JavaScript中的类与实例实现方法
Jan 23 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
Jan 28 Javascript
基于JavaScript实现快速转换文本语言(繁体中文和简体中文)
Mar 07 Javascript
AngularJs+Bootstrap实现漂亮的计算器
Aug 10 Javascript
解决vuex改变了state的值,但是页面没有更新的问题
Nov 12 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
ADODB的数据库封包程序库
2006/12/31 PHP
木翼下载系统中说明的PHP安全配置方法
2007/06/16 PHP
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
PHP防CC攻击实现代码
2011/12/29 PHP
PHP 5.6.11中CURL模块问题的解决方法
2016/08/08 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
JS对img进行操作(换图片/切图/轮换/停止)
2013/04/17 Javascript
JSP中使用JavaScript动态插入删除输入框实现代码
2014/06/13 Javascript
JS控制表格实现一条光线流动分割行的方法
2015/03/09 Javascript
JS实现关闭当前页而不弹出提示框的方法
2016/06/22 Javascript
jQuery 3.0 的 setter和getter 模式详解
2016/07/11 Javascript
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
基于angular6.0实现的一个组件懒加载功能示例
2018/04/12 Javascript
Angular7创建项目、组件、服务以及服务的使用
2019/02/19 Javascript
浅谈Javascript常用正则表达式应用
2019/03/08 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
2020/02/27 Javascript
Vue 自适应高度表格的实现方法
2020/05/13 Javascript
python 控制语句
2011/11/03 Python
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
解决Python中由于logging模块误用导致的内存泄露
2015/04/23 Python
在Python中Dataframe通过print输出多行时显示省略号的实例
2018/12/22 Python
python 正则表达式贪婪模式与非贪婪模式原理、用法实例分析
2019/10/14 Python
python中如何打包用户自定义模块
2020/09/23 Python
兰芝美国网上商城:购买LANEIGE睡眠面膜等
2017/06/30 全球购物
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
房地产还款计划书
2014/01/10 职场文书
行政人事岗位职责
2014/03/17 职场文书
企业法人授权委托书
2014/04/03 职场文书
乡镇干部个人对照检查材料(群众路线)
2014/09/26 职场文书
感恩母亲节活动总结
2015/02/10 职场文书
答辩状格式范本
2015/05/22 职场文书
《这片土地是神圣的》教学反思
2016/02/16 职场文书
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android
SQLServer之常用函数总结详解
2021/08/30 SQL Server
讲解MySQL增删改操作
2022/05/06 MySQL