通过原生js判断网页图片是否已加载成功的方法总汇

时间: 2017-10-27阅读: 2638标签: js技巧

在写网页的程序的时候,经常碰到要在网页加载完全之后再去展现页面,加载中的时候通过显示loading...的样式。这时候我们会直接想到使用window.onload的方式,或者是通过图片的img对象(DOM)的complete属性,这在一定程度可以解决。

window.onload方式  
<script> 
        document.getElementById('imgid').onload = function() { 
            console.log('loaded') 
        } 
</script>


img的complete属性 
function imgLoad(img, callback) {
	if(img==undefined){
		return;
	}
	var timer = setInterval(function() {
		if(img.complete) {
			callback(img)
			clearInterval(timer)
		}
	}, 50)
}
imgLoad(document.getElementById('imgid'),()=>{console.log('加载完毕')})


判断页面图片是都完全加载 
function imgloads(callback,size){//判断图片是否已加载完毕
	var imgs=document.getElementsByTagName("img");
	var isover=false;//true加载完毕,false还有未加载的
	var add=0;//循环当前次数
	var size=size || 10;//循环次数
	var jdtime=setInterval(function(){
		isover=true;add++;
		for(var i=0;i<imgs.length;i++){
			if(!imgs[i].complete){//还有没加载的图片
				isover=false;
			}
		}
		if(isover || add>=size){//加载完成,or超时
			clearInterval(jdtime);
			console.log("图片加载完成!用时"+add*50+'毫秒');
			callback();
		}
	},50);
},

完结~~~~~

吐血推荐

1.站长广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入...

2.休闲娱乐: 网页游戏  直播/交友   H5游戏

链接: http://www.fly63.com/article/detial/18

(a ==1 && a== 2 && a==3) 有可能是 true 吗?

1. 利用松散相等运算符 == 的原理,自定义 toString 和 valueOf 返回对应值2. 利用半宽度韩文等特殊字符,玩“障眼法”,本质上其实并没有做到题设3. 劫持 JS 对象的 getter,不过这种方式对于严格相等 === 同样有效

js中~~和 | 的妙用

~~它代表双非按位取反运算符,如果你想使用比Math.floor()更快的方法,那就是它了。需要注意,对于正数,它向下取整;对于负数,向上取整;非数字取值为0,它具体的表现形式为:

js技巧_js中一些常见的陷阱

这里我们针对JavaScript初学者给出一些技巧和列出一些陷阱。如果你已经是一个砖家,也可以读一读。你是否尝试过对数组元素进行排序?

5个小技巧让你写出更好的 JavaScript 条件语句

使用 Array.includes 来处理多重条件,少写嵌套,尽早返回,使用函数默认参数和解构,相较于 switch,Map / Object 也许是更好的选择,使用 Array.every 和 Array.some 来处理全部/部分满足条件,让我们一起写出可读性更高的代码吧

js语言中常见错误总汇

事实证明很多这些 null 或 undefined 的错误是普遍存在的。 一个类似于 Typescript 这样的好的静态类型检查系统,当设置为严格的编译选项时,能够帮助开发者避免这些错误。

js求数组的最大值--奇技淫巧和笨方法

js中有很多“奇技淫巧”,有时我会常常刻意去用这些“奇技淫巧”(注意,我不是在反对用它,只是有时其实没必要用)。比如,求数组中的最大值,js中Array没有原生的求最大值的方法,但是Math有呀

一些 JavaScript 中的代码小技巧

一些 JavaScript 中的代码小技巧:使用函数过滤并序列化对象、用 Set 来实现数组去重、用块级作用域避免命名冲突、函数参数值校验、用解构赋值过滤对象属性、用解构赋值获取嵌套对象的属性、合并对象、使用 === 代替 ==

js判断参数是否为非0整数数字或者整数数字字符串的简单方法(小装逼)

我们来判断一个值是否为数字,可以把它转化为数字,看是否为NaN 然后,再判断是否等于0即可简单的来实现判断了。js判断参数是否为非0整数数字或者整数数字字符串的简单方法

js中实现sleep暂停/睡眠功能的多种方式

由于很多语言都有sleep函数,但是js中没有,下面介绍JavaScript实现类似sleep的多种方式:利用循环、Promise版本 、通过generate来实现、通过 Async/Await 封装、使用node-sleep

js实现HSL与RGB色彩的相互转换功能

RGB和HSL是两种色彩空间,即:红,绿,蓝和色调,饱和度,亮度,前者适用于机器采样,目前的显示器颜色即由这三种基色构成,而后者更符合人类的直观感觉。这篇文章主要介绍原生js实现HSL与RGB相互转换

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全