JavaScript实现判断图片是否加载完成的3种方法整理


Posted in Javascript onMarch 13, 2015

有时候我们在前端开发工作中为了获取图片的信息,需要在图片加载完成后才可以正确的获取到图片的大小尺寸,并且执行相应的回调函数使图片产生某种显示效果。本文主要整理了几种常见的javascipt判断图片加载完成时的方法,并通过代码与实际应用相结合进行解释与说明。

onload方法

通过向img标签添加onload属性,并填入相应的函数来执行后续的javascipt代码。如下代码例子中img元素默认是不显示的,通过onload判断加载完成后再将图片显示出来。

<img class="pic1" onload="get(this)" src="..." style='display:none' />

 

<script type="text/javascript">

function get(ts){

 ts.style.display = 'block';  //显示图片

}

</script>

优点:可以将javascript代码部分放置于页面的任何部分加载,并且可以用于多数任意图片上。使用比较简单,易理解。

缺点:必须在每个标签上都贴上onlaod属性,在某些无法直接操作HTML代码,或者需要代码精简的情况下不适用

javascipt原生方法

选取指定ID的图片,通过onload指定回调方法,在图片加载完成后弹出“图片加载已完成”字样提示。

<img id="pic1" src="..." />

 

<script language="JavaScript">

    document.getElementById("pic1").onload = function () {

        alert("图片加载已完成");

    }

</script>

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

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

jquery方法

为每个class为pic1的图片元素绑定事件,通过jquery的load方法,将元素渐现出来。

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

<script type="text/javascript">

$(function(){

 $('.pic1').each(function() {

  $(this).load(function(){

   $(this).fadeIn();

  });

    });

})

</script>

优点:可以批量绑定元素事件,并且不影响HTML代码内容

缺点:需要jquery库的支持,代码需要放置到需要操作元素的下方。

Javascript 相关文章推荐
jquery事件机制扩展插件 jquery鼠标右键事件
Dec 21 Javascript
jQuery中创建实例与原型继承揭秘
Dec 21 Javascript
jquery实现的缩略图预览滑块实例
Jun 25 Javascript
深入浅析JavaScript系列(13):This? Yes,this!
Jan 05 Javascript
jquery制做精致的倒计时特效
Jun 13 Javascript
JS修改地址栏参数实例代码
Jun 14 Javascript
自制微信公众号一键排版工具
Sep 22 Javascript
es6中的解构赋值、扩展运算符和rest参数使用详解
Sep 28 Javascript
基于JavaScript实现幸运抽奖页面
Jul 05 Javascript
vue.js 中使用(...)运算符报错的解决方法
Aug 09 Javascript
vue3.0中使用postcss-pxtorem的具体方法
Nov 20 Javascript
Vue打包部署到Nginx时,css样式不生效的解决方式
Aug 03 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
Mar 13 #Javascript
JavaScript中常用的六种互动方法示例
Mar 13 #Javascript
jQuery.position()方法获取不到值的安全替换方法
Mar 13 #Javascript
检测一个函数是否是JavaScript原生函数的小技巧
Mar 13 #Javascript
DOM操作一些常用的属性汇总
Mar 13 #Javascript
JavaScript获取页面上被选中文字的方法技巧
Mar 13 #Javascript
jQuery源码分析之Callbacks详解
Mar 13 #Javascript
You might like
Terran兵种对照表
2020/03/14 星际争霸
PHP在获取指定目录下的目录,在获取的目录下面再创建文件,多平台
2011/08/03 PHP
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
关于php开启错误提示的总结
2019/09/24 PHP
PHP学习记录之常用的魔术常量详解
2019/12/12 PHP
toggle()隐藏问题的解决方法
2014/02/17 Javascript
jquery制作弹窗提示窗口代码分享
2014/03/02 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
javascript实现点击按钮让DIV层弹性移动的方法
2015/02/24 Javascript
jQuery+HTML5美女瀑布流布局实现方法
2015/09/21 Javascript
jquery获取url参数及url加参数的方法
2015/10/26 Javascript
解决jquery无法找到其他父级子集问题的方法
2016/05/10 Javascript
深入理解jQuery之防止冒泡事件
2016/05/24 Javascript
vue插件tab选项卡使用小结
2016/10/27 Javascript
AngularJS路由Ui-router模块用法示例
2017/05/29 Javascript
vue.js学习之vue-cli定制脚手架详解
2017/07/02 Javascript
Vue+webpack+Element 兼容问题总结(小结)
2018/08/16 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
查看Python安装路径以及安装包路径小技巧
2015/04/28 Python
python高手之路python处理excel文件(方法汇总)
2016/01/07 Python
Python编程实现二叉树及七种遍历方法详解
2017/06/02 Python
Pyinstaller将py打包成exe的实例
2018/03/31 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
pytorch Dataset,DataLoader产生自定义的训练数据案例
2021/03/03 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
如何删除一个表里面的重复行
2013/07/13 面试题
初级软件工程师面试题 Junior Software Engineer Interview
2015/02/15 面试题
单位在职证明范本
2014/01/09 职场文书
行政部岗位职责范本
2014/03/13 职场文书
幼儿教师年度个人总结
2015/02/05 职场文书
学习十八大的感悟
2015/08/11 职场文书
Python何绘制带有背景色块的折线图
2022/04/23 Python