JavaScript判断图片是否已经加载完毕的方法汇总_javascript技巧

在网上有很多关于判断图片是否已经加载完毕的文章,但是有的浏览器并不适合,下面小编给大家分享一些有关JavaScript判断图片是否已经加载完毕方法汇总,具体内容如下所示:

一.onload事件

通过监听图片的onload事件,可以判断图片是否已经加载完成,兼容所有的浏览器(w3c推荐方法),代码示例如下

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<img id="img1" src=https://.oss-cn-hangzhou.aliyuncs.com/51c3bb99a21ea.jpg alt="">
<script>
// 方法一:图片已经下载完
document.getElementById('img1').onload = function(e){
e.stopPropagation();
alert(1);
}
</script>
</body>
</html> 

二.判断img对象(DOM)的complete属性

当img加载完成之后,complete对象属性将变为true,代码示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<img id="img1" src=https://.oss-cn-hangzhou.aliyuncs.com/51c3bb99a21ea.jpg alt="">
<script>
// 方法二:img的complate属性
var timer = setInterval(function(){
if (document.getElementById('img1').complete){
clearInterval(timer);
alert(1);
console.log(document.getElementById('img1').complete)
}
}, 10);
</script>
</body>
</html> 

亲测该方法同样可兼容所有浏览器

三.onreadystatechange事件

在ie下,img对象与xhr对象一样具有onreadystatechange事件,可以通郭建廷该事件判断图片是否加载完成,代码示例如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<img id="img1" src=https://.oss-cn-hangzhou.aliyuncs.com/51c3bb99a21ea.jpg alt="">
<script>
document.getElementById('img1').onreadystatechange = function() {
if(document.getElementById('img1').readyState=="complete"||document.getElementById('img1').readyState=="loaded"){
alert(1);
}
}
</script>
</body>
</html> 

该方法仅在ie下可用

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索游戏加载完毕、游戏加载完毕后点击、页面加载完毕后执行js、js页面加载完毕事件、js判断页面加载完毕,以便于您获取更多的相关知识。

时间: 2024-08-17 13:20:18

JavaScript判断图片是否已经加载完毕的方法汇总_javascript技巧的相关文章

动态加载js的方法汇总_javascript技巧

本文实例汇总了动态加载js的方法.分享给大家供大家参考.具体如下: 方法一:直接document.write(异步) 复制代码 代码如下: <script language="javascript">       document.write("<script src='res/extwidget/echarts/xx.js'><\/script>"); </script> 由于这种方式是异步加载,document.w

javascript判断图片是否加载完成的方法推荐_javascript技巧

load事件 <script type="text/javascript"> $('img').onload = function() { //code } </script> 优点:简单易用,不影响HTML代码. 缺点:只能指定一个元素,javascipt代码必须置于图片元素的下方 jquery方法 <script type="text/javascript"> $(function(){ $('.pic1').each(fun

Js判断CSS文件加载完毕的具体实现_javascript技巧

要判断这个 CSS 文件是否加载完毕,各个浏览器的做法差异比较大,这次要说IE浏览器做的不错,我们可以直接通过onload方法来处理CSS加载完成以后的处理: 复制代码 代码如下: // 代码节选至seajsfunction styleOnload(node, callback) {    // for IE6-9 and Opera    if (node.attachEvent) {      node.attachEvent('onload', callback);      // NOT

Javascript获取数组中的最大值和最小值的方法汇总_javascript技巧

比较数组中数值的大小是比较常见的操作,比较大小的方法有多种,比如可以使用自带的sort()函数,下面来介绍如下几种方法,代码如下: 方法一: //最小值 Array.prototype.min = function() { var min = this[0]; var len = this.length; for (var i = 1; i < len; i++){ if (this[i] < min){ min = this[i]; } } return min; } //最大值 Array

JavaScript中iframe实现局部刷新的几种方法汇总_javascript技巧

Iframe是一种嵌入网页的框架形式,Web页面可以通过更改嵌入的部分,达到部分内容刷新. Iframe的用法与普通的标签元素DIV类似,可以指定在页面中嵌入的位置.颜色.界面布局等 一.iframe实现局部刷新方法一 <script type="text/javascript"> $(function(){ $("#a1").click(function(){ var name= $(this).attr("name"); $(&q

Google的跟踪代码 动态加载js代码方法应用_javascript技巧

复制代码 代码如下: <script type="text/javascript"> var _gaq = _gaq || []; //如果变量 _gaq 存在,就等于他自己,否则为一个空数组 _gaq.push(['_setAccount', 'UA-24479793-2']); //是个2维数组 _gaq[0] = array(0=>'_setAccount', 1=>'UA-24479793-2');(设置本跟踪代码所对应的Google帐户) _gaq.p

jquery显示loading图片直到网页加载完成的方法

  本文实例讲述了jquery显示loading图片直到网页加载完成的方法.分享给大家供大家参考.具体实现方法如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 <!DOCTYPE html> <html class="no-js"> <head> <meta charset='UTF-8'> <title>Simpl

jquery显示loading图片直到网页加载完成的方法_jquery

本文实例讲述了jquery显示loading图片直到网页加载完成的方法.分享给大家供大家参考.具体实现方法如下: <!DOCTYPE html> <html class="no-js"> <head> <meta charset='UTF-8'> <title>Simple Loader</title> <style> /* This only works with JavaScript, if it'

【百分结贴】能完美判断网页是否全部加载完毕吗?

问题描述 C#内置的WebBrowser控件不能准确判断网页什么时候最终装载完毕,有高手帮我借鉴通过延迟.记录再对比的方式做过测试,但也没找到好的效果,一般情况都是10个里面有两个不行.谁有办法直接判断网页是否加载完毕(包括页面中的frame和js)? 解决方案 解决方案二:该回复于2012-07-28 09:58:23被版主删除解决方案三:谁写过类似的程序?解决方案四:为什么必须要加载完毕?解决方案五:主要是需要递归判断所有框架网页是否都加载完毕.另外一些网页使用了ajax会导致不断刷新数据,