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.addClass始终无效原因分析
Sep 08 Javascript
jquery中$each()方法的使用指南
Apr 30 Javascript
使用AngularJS中的SCE来防止XSS攻击的方法
Jun 18 Javascript
一道常被人轻视的web前端常见面试题(JS)
Feb 15 Javascript
浏览器检测JS代码(兼容目前各大主流浏览器)
Feb 21 Javascript
JS中frameset框架弹出层实例代码
Apr 01 Javascript
JavaScript中点击事件的写法
Jun 28 Javascript
深入理解Vue 的条件渲染和列表渲染
Sep 01 Javascript
Vue-Router的使用方法
Sep 05 Javascript
JavaScript中import用法总结
Jan 20 Javascript
vue中的inject学习教程
Apr 24 Javascript
Vue 中 a标签上href无法跳转的解决方式
Nov 12 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
PHP 模拟$_PUT实现代码
2010/03/15 PHP
.htaccess文件保护实例讲解
2011/02/06 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
2012/01/27 PHP
smarty模板引擎中变量及变量修饰器用法实例
2015/01/22 PHP
thinkPHP框架中layer.js的封装与使用方法示例
2019/01/18 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
php 实现银联商务H5支付的示例代码
2019/10/12 PHP
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
JavaScript类和继承 constructor属性
2010/03/04 Javascript
jQuery版Tab标签切换
2011/03/16 Javascript
jQuery中after的两种用法实例
2013/07/03 Javascript
基于 Docker 开发 NodeJS 应用
2014/07/30 NodeJs
javascript实现信息增删改查的方法
2015/07/25 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
Bootstrap 响应式实用工具实例详解
2017/03/29 Javascript
微信小程序 图片绝对定位(背景图片)
2017/04/05 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
vue动态设置img的src路径实例
2018/09/18 Javascript
微信小程序模板template简单用法示例
2018/12/04 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
使用python编写批量卸载手机中安装的android应用脚本
2014/07/21 Python
Django使用详解:ORM 的反向查找(related_name)
2018/05/30 Python
OpenCV 表盘指针自动读数的示例代码
2020/04/10 Python
python的help函数如何使用
2020/06/11 Python
使用Python操作MySQL的小技巧
2020/09/10 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
个人求职简历的自我评价范文
2013/10/09 职场文书
环保宣传标语
2014/06/12 职场文书
转让协议书范本
2014/09/13 职场文书
学校运动会报道稿
2014/09/23 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
2014年银行年终工作总结
2014/12/19 职场文书
2016关于预防职务犯罪的心得体会
2016/01/21 职场文书
只用40行Python代码就能写出pdf转word小工具
2021/05/31 Python