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

 更新时间:2015年03月13日 10:15:32   投稿:junjie  
这篇文章主要介绍了JavaScript实现判断图片是否加载完成的3种方法整理,本文讲解了onload方法、javascipt原生方法、jquery方法三种方法,需要的朋友可以参考下

有时候我们在前端开发工作中为了获取图片的信息,需要在图片加载完成后才可以正确的获取到图片的大小尺寸,并且执行相应的回调函数使图片产生某种显示效果。本文主要整理了几种常见的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原型继承

    再谈javascript原型继承

    Javascript原型继承是一个被说烂掉了的话题,但是自己对于这个问题一直没有彻底理解,今天花了点时间又看了一遍《Javascript模式》中关于原型实现继承的几种方法,下面来一一说明下,在最后我根据自己的理解提出了一个关于继承比较完整的实现。
    2014-11-11
  • select、radio表单回显功能实现避免使用jquery载入赋值

    select、radio表单回显功能实现避免使用jquery载入赋值

    select、radio表单回显避免使用jquery载入赋值,最好的做法是:在jsp页面进行逻辑判断,具体实现如下,感兴趣的朋友可以参考下哈,希望对大家有所帮助
    2013-06-06
  • js实现动态增加文件域表单功能

    js实现动态增加文件域表单功能

    这篇文章主要为大家详细介绍了js实现动态增加文件域表单功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • ES6 proxy和reflect的使用方法与应用实例分析

    ES6 proxy和reflect的使用方法与应用实例分析

    这篇文章主要介绍了ES6 proxy和reflect的使用方法,结合具体实例形式分析了ES6 proxy和reflect基本功能、原理、使用方法与操作注意事项,需要的朋友可以参考下
    2020-02-02
  • JavaScript实现读取上传视频文件的时长和第一帧画面过程讲解

    JavaScript实现读取上传视频文件的时长和第一帧画面过程讲解

    当我们做一个后台系统的音视频管理模块时,通常要限制文件的大小和类型,这篇文章主要介绍了JavaScript实现读取上传视频文件的时长和第一帧画面过程,需要详细了解实现方法可以参考下文
    2023-05-05
  • 微信小程序用canvas实现电子签名

    微信小程序用canvas实现电子签名

    这篇文章主要为大家详细介绍了微信小程序用canvas实现电子签名,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • js实现幻灯片轮播图

    js实现幻灯片轮播图

    这篇文章主要为大家详细介绍了js实现幻灯片轮播图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-08-08
  • JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML

    JavaScript高级程序设计 阅读笔记(二十一) JavaScript中的XML

    虽然XML和DOM已经变成Web开发的重要组成部分,但目前仅IE跟Mozilla支持客户端的XML处理
    2012-09-09
  • 多浏览器兼容的右下角广告代码(已测)

    多浏览器兼容的右下角广告代码(已测)

    支持FIREFOX IE7 IE6 周未就为了这个小效果,折腾死人了!找了很多的代码都不行,不是不支持FIREFOX,就是对HTML和XHTML有要求!
    2008-04-04
  • 浅谈JavaScript 中有关时间对象的方法

    浅谈JavaScript 中有关时间对象的方法

    下面小编就为大家带来一篇浅谈JavaScript 中有关时间对象的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-08-08

最新评论