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

时间: 2017-10-27阅读: 3533标签: 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.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

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

JS技巧技法总结

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

js语言中常见错误总汇

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

js中~~和 | 的妙用

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

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

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

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

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

javascript如何判断值是否为整数?

javascript如何判断一个值是否为整数?下面本篇文章就来给大家介绍一下使用javascript判断一个值是否为整数的方法。

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

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

值得收藏的15条高效JS技巧

延迟函数delay、分割指定长度的元素数组、获取数组交集、函数柯里化、字符串前面空格去除与替换、获取当前子元素是其父元素下子元素的排位

js方式实现手机号码隐藏中间4位

在前端开发中,遇到如下需求:隐藏手机号码,将中间几位替换为*。通过js如何实现手机号码隐藏中间4位呢?下面整理几种实现方式:使用正则、通过长度截取。

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

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

点击更多...

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