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 相关文章推荐
什么是Node.js?Node.js详细介绍
Jun 01 Javascript
jQuery 顶部导航跟随滚动条滚动固定浮动在顶部
Jun 06 Javascript
JS实现弹出居中的模式窗口示例
Jun 20 Javascript
jQuery fadeOut 异步实例代码详解
Aug 18 Javascript
AngularJS bootstrap启动详解及实例代码
Sep 14 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
Sep 17 Javascript
Jquery和Js获得元素标签名称的方法总结
Oct 08 Javascript
JavaScript箭头(arrow)函数详解
Jun 04 Javascript
Nuxt.js实现校验访问浏览器类型的中间件
Aug 24 Javascript
详解基于electron制作一个node压缩图片的桌面应用
Jan 29 Javascript
javascript中正则表达式语法详解
Aug 07 Javascript
原生JS中应该禁止出现的写法
May 05 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做的端口嗅探器--可以指定网站和端口
2006/10/09 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
php解析html类库simple_html_dom(详细介绍)
2013/07/05 PHP
dedecms集成财付通支付接口
2014/12/28 PHP
php类的定义与继承用法实例
2015/07/07 PHP
基于JQuery+PHP编写砸金蛋中奖程序
2015/09/08 PHP
php中mkdir()函数的权限问题分析
2016/09/24 PHP
php封装的验证码工具类完整实例
2016/10/19 PHP
php实现图片按比例截取的方法
2017/02/06 PHP
两种方法基于jQuery实现IE浏览器兼容placeholder效果
2014/10/14 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
学习JavaScript设计模式之状态模式
2016/01/08 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
JS实现点击下拉菜单把选择的内容同步到input输入框内的实例
2018/01/23 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
Python制作词云的方法
2018/01/03 Python
详谈python在windows中的文件路径问题
2018/04/28 Python
解决python写入mysql中datetime类型遇到的问题
2018/06/21 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
2019/08/07 Python
python实现超市商品销售管理系统
2019/10/25 Python
Python 矩阵转置的几种方法小结
2019/12/02 Python
pytorch 模型的train模式与eval模式实例
2020/02/20 Python
Django crontab定时任务模块操作方法解析
2020/09/10 Python
python 调用API接口 获取和解析 Json数据
2020/09/28 Python
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
FLOS美国官网:意大利高级照明工艺的传奇
2018/08/07 全球购物
优秀中学生事迹材料
2014/01/31 职场文书
校园安全广播稿
2014/02/08 职场文书
服装设计师职业生涯规划范文
2014/02/28 职场文书
正规借条模板
2015/05/26 职场文书
2016新年晚会开场白
2015/12/03 职场文书
Go使用协程交替打印字符
2021/04/29 Golang