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 相关文章推荐
js tab 选项卡
Apr 26 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
Nov 14 Javascript
AngularJS学习笔记之基本指令(init、repeat)
Jun 16 Javascript
超精准的javascript验证身份证号的具体实现方法
Nov 18 Javascript
纯js实现瀑布流布局及ajax动态新增数据
Apr 07 Javascript
vue 子组件向父组件传值方法
Feb 26 Javascript
webpack手动配置React开发环境的步骤
Jul 02 Javascript
浅谈express.js框架中间件(middleware)
Apr 07 Javascript
jQuery动态生成的元素绑定事件操作实例分析
May 04 jQuery
ElementUI多个子组件表单的校验管理实现
Nov 07 Javascript
javascript实现异形滚动轮播
Nov 28 Javascript
vue props 一次传多个值实例
Jul 22 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
说说PHP的autoLoad自动加载机制
2012/09/27 PHP
PHP中的socket_read和socket_recv区别详解
2015/02/09 PHP
php实现RSA加密类实例
2015/03/26 PHP
php生成唯一数字id的方法汇总
2015/11/18 PHP
在WordPress中实现发送http请求的相关函数解析
2015/12/29 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
PHP+swoole实现简单多人在线聊天群发
2016/01/19 PHP
Symfony2实现从数据库获取数据的方法小结
2016/03/18 PHP
PHP支付系统设计与典型案例分享
2016/08/02 PHP
php curl中gzip的压缩性能测试实例分析
2016/11/08 PHP
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
jQuery Validate让普通按钮触发表单验证的方法
2016/12/15 Javascript
解决浏览器会自动填充密码的问题
2017/04/28 Javascript
Vue的土著指令和自定义指令实例详解
2018/02/04 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
JS判断两个数组或对象是否相同的方法示例
2019/02/28 Javascript
JavaScript中this的全面解析及常见实例
2019/05/14 Javascript
vue+element项目中过滤输入框特殊字符小结
2019/08/07 Javascript
Vue和React有哪些区别
2020/09/12 Javascript
win与linux系统中python requests 安装
2016/12/04 Python
OpenCV2.3.1+Python2.7.3+Numpy等的配置解析
2018/01/05 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
详解Django admin高级用法
2019/11/06 Python
python同时遍历两个list用法说明
2020/05/02 Python
将python字符串转化成长表达式的函数eval实例
2020/05/11 Python
详解pytorch tensor和ndarray转换相关总结
2020/09/03 Python
德国家具在线:Fashion For Home
2017/03/11 全球购物
Rag & Bone官网:瑞格布恩高级成衣
2018/04/19 全球购物
高中自我鉴定
2013/12/20 职场文书
施工班组长岗位职责
2014/01/05 职场文书
教师考核鉴定意见
2015/06/05 职场文书
2016婚礼主持词开场白
2015/11/24 职场文书
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL