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

时间: 2017-10-27阅读: 2982标签: 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.阿里云: 本站目前使用的是阿里云主机,安全/可靠/稳定。点击领取2000元代金券、了解最新阿里云产品的各种优惠活动点击进入

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各类产品的最新活动,优惠券领取点击进入

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

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

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

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

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

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

JS技巧技法总结

闭包原理、数组展平、前端语音(在项目中需要对ajax请求返回的消息进行语音播报,str 为返回的data)、Proxy 数据绑定和监听、计数器

js中一些怪异的写法_神奇的JavaScript

JavaScript是一门伟大的语言,作为一门弱类型语言,它拥有非常简洁的语法,庞大的生态系统,灵活性非常强大。js各种神奇的写法,所谓的神奇也就是罕见。下面就开始介绍这些怪异的写法吧。

不用if撸代码,是件很有趣的事。

试着不用if撸代码,是件很有趣的事,而且,万一你领会了什么是“数据即代码,代码即数据”呢?

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

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

JavaScript 异步调用——从小小题目逐步走进 JavaScript 异步调用

async/await 语法让异步调用写起来像写同步代码,在编写代码的时候,可以避免逻辑跳跃,写起来会更轻松。

一行能装逼的JavaScript代码

一行能装逼的JavaScript代码,其实靠的是js的类型转化的一些基本原理,本篇就来揭密”sb”是如何炼成的。相信你如果能把这个理清楚了,以后遇到类型转化之类的题目,就可以瞬间秒杀了。

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

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

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

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

点击更多...

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

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

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