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 相关文章推荐
基于mouseout和mouseover等类似事件的冒泡问题解决方法
Nov 18 Javascript
解析JavaScript中delete操作符不能删除的对象
Dec 03 Javascript
JavaScript中对象property的删除方法介绍
Dec 30 Javascript
JavaScript使用Prototype实现面向对象的方法
Apr 14 Javascript
jquery自定义表格样式
Nov 23 Javascript
webpack实现热加载自动刷新的方法
Jul 30 Javascript
webpack分离css单独打包的方法
Jun 12 Javascript
qrcode生成二维码微信长按无法识别问题的解决
Apr 04 Javascript
探索JavaScript中私有成员的相关知识
Jun 13 Javascript
layui 实现表格某一列显示图标
Sep 19 Javascript
使用vue cli4.x搭建vue项目的过程详解
May 08 Javascript
JS创建自定义对象的六种方法总结
Dec 15 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
PHP5 安装方法
2007/01/15 PHP
第二章 PHP入门基础之php代码写法
2011/12/30 PHP
php版小黄鸡simsimi聊天机器人接口分享
2014/01/26 PHP
php中header设置常见文件类型的content-type
2015/06/23 PHP
php实现微信公众号无限群发
2015/10/11 PHP
php结合md5实现的加密解密方法
2016/01/25 PHP
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
强大的jquery插件jqeuryUI做网页对话框效果!简单
2011/04/14 Javascript
jquery随意添加移除html的实现代码
2011/06/21 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
jquery合并表格中相同文本的相邻单元格
2015/07/17 Javascript
jquery实现选中单选按钮下拉伸缩效果
2015/08/06 Javascript
JavaScript:Array类型全面解析
2016/05/19 Javascript
Javascript类型系统之String字符串类型详解
2016/06/21 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
VueJS全面解析
2016/11/10 Javascript
jQuery实现简单的抽奖游戏
2017/05/05 jQuery
Vue入门之animate过渡动画效果
2018/04/08 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
2018/05/23 Javascript
vue.js+elementUI实现点击左右箭头切换头像功能(类似轮播图效果)
2019/09/05 Javascript
Vue开发中遇到的跨域问题及解决方法
2020/02/11 Javascript
寻找网站后台地址的python脚本
2014/09/01 Python
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
初步探究Python程序的执行原理
2015/04/11 Python
Python数字图像处理之霍夫线变换实现详解
2018/01/12 Python
如何将PySpark导入Python的放实现(2种)
2020/04/26 Python
canvas学习笔记之2d画布基础的实现
2019/02/21 HTML / CSS
Expedia马来西亚旅游网站:廉价酒店,度假村和航班预订
2016/07/26 全球购物
Java面试题:Java类的Main方法如果是Private将会怎么样
2016/08/18 面试题
幼儿教师个人求职信范文
2013/09/21 职场文书
施工单位工程部经理岗位职责
2015/04/09 职场文书
2015财务年度工作总结范文
2015/05/04 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
导游词创作书写原则以及开场白技巧怎么学?
2019/09/25 职场文书
Java 关于String字符串原理上的问题
2022/04/07 Java/Android