JS判断图片是否加载完成方法汇总(最新版)


Posted in Javascript onMay 13, 2016

有时需要获取图片的尺寸,这需要在图片加载完成以后才可以。下面小编给大家整理了几种关于JS判断图片是否加载完成方法汇总,一起看看吧。

一、load事件

<script type="text/javascript">
$('img').onload = function() {
//code
}
</script>

优点:简单易用,不影响HTML代码。

缺点:只能指定一个元素,javascipt代码必须置于图片元素的下方

二、jquery方法

<script type="text/javascript">
$(function(){
$('.pic1').each(function() {
$(this).load(function(){
$(this).fadeIn();
});
});
})
</script>

注意,不要在$(document).ready()里绑定load事件。

优点:可以批量绑定元素事件,并且不影响HTML代码内容
缺点:需要jquery库的支持,代码需要放置到需要操作元素的下方。

三、readystatechange事件

<!DOCTYPE HTML>
<html> 
<head> 
<meta charset="utf-">
<title>img - readystatechange event</title>
</head> 
<body>
<img id="img" src="http://pic.win.com/wallpaper/f/cbbaea.jpg">
<p id="p">loading...</p>
<script type="text/javascript">
img.onreadystatechange = function() {
if(img.readyState=="complete"||img.readyState=="loaded"){ 
p.innerHTML = 'readystatechange:loaded'
}
}
</script>
</body>
</html>

readyState为complete和loaded则表明图片已经加载完毕。测试IE6-IE10支持该事件,其它浏览器不支持。

四、img的complete属性

<!DOCTYPE HTML>
<html> 
<head> 
<meta charset="utf-8">
<title>img - complete attribute</title>
</head> 
<body>
<img id="img1" src="http://pic1.win4000.com/wallpaper/f/51c3bb99a21ea.jpg">
<p id="p1">loading...</p>
<script type="text/javascript">
function imgLoad(img, callback) {
var timer = setInterval(function() {
if (img.complete) {
callback(img)
clearInterval(timer)
}
}, 50)
}
imgLoad(img1, function() {
p1.innerHTML('加载完毕')
})
</script>
</body>
</html>

轮询不断监测img的complete属性,如果为true则表明图片已经加载完毕,停止轮询。该属性所有浏览器都支持。

JS判断图片是否加载完成方法汇总(最新版)

以上内容是小编给大家介绍的JS判断图片是否加载完成方法汇总,希望对大家有所帮助,同时也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript For Beginners(转载)
Jan 05 Javascript
基于jquery打造的百分比动态色彩条插件
Sep 19 Javascript
深入浅析AngularJS和DataModel
Feb 16 Javascript
JavaScript中Form表单技术汇总(推荐)
Jun 26 Javascript
JavaScript中in和hasOwnProperty区别详解
Aug 04 Javascript
js解决软键盘遮挡输入框的问题分享
Dec 19 Javascript
JavaScript伪数组用法实例分析
Dec 22 Javascript
vue实现一个炫酷的日历组件
Oct 08 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
Jun 24 Javascript
解决layui-table单元格设置为百分比在ie8下不能自适应的问题
Sep 28 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
May 09 Javascript
vue动态设置页面title的方法实例
Aug 23 Javascript
BootStrap扔进Django里的方法详解
May 13 #Javascript
JavaScript重载函数实例剖析
May 13 #Javascript
JS加载iFrame出现空白问题的解决办法
May 13 #Javascript
基于JS判断iframe是否加载成功的方法(多种浏览器)
May 13 #Javascript
JS iFrame加载慢怎么解决
May 13 #Javascript
基于JS实现的笛卡尔乘积之商品发布
May 13 #Javascript
基于jQuery倒计时插件实现团购秒杀效果
May 13 #Javascript
You might like
thinkphp四种url访问方式详解
2014/11/28 PHP
PHP检查文件是否存在,不存在自动创建及读取文件内容操作示例
2020/01/23 PHP
一个选择最快的服务器转向代码
2009/04/27 Javascript
3Z版基于jquery的图片复选框(asp.net+jquery)
2010/04/12 Javascript
ASP.NET MVC中EasyUI的datagrid跨域调用实现代码
2012/03/14 Javascript
javascript中将Object转换为String函数代码 (json str)
2012/04/29 Javascript
uploadify 3.0 详细使用说明
2012/06/18 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
JavaScript实现复制功能各浏览器支持情况实测
2013/07/18 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
jquery插件jquery.beforeafter.js实现左右拖拽分隔条对比图片的方法
2015/08/07 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
详解angularjs中如何实现控制器和指令之间交互
2017/05/31 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
JS实现合并json对象的方法
2017/10/10 Javascript
Vue 全局loading组件实例详解
2018/05/29 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
[00:17]DOTA2荣耀之路5:It’s a disastah!
2018/05/28 DOTA
python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
2013/12/06 Python
python求众数问题实例
2014/09/26 Python
Python入门篇之编程习惯与特点
2014/10/17 Python
浅谈python字符串方法的简单使用
2016/07/18 Python
详解Django的CSRF认证实现
2018/10/09 Python
Python3 使用map()批量的转换数据类型,如str转float的实现
2019/11/29 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
2020/02/29 Python
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
加拿大当代时尚服饰、配饰和鞋类专业零售商和制造商:LE CHÂTEAU
2017/10/06 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
几个Shell Script面试题
2014/04/18 面试题
年会搞笑主持词串词
2014/03/24 职场文书
离婚协议书怎样才有法律效力
2014/10/10 职场文书
解决Python字典查找报Keyerror的问题
2021/05/26 Python
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android