图片延迟加载
来源:互联网 发布:编程用什么系统好 编辑:程序博客网 时间:2024/05/29 17:16
当页面中图片数量很多的时候,如果要求页面加载完成的时候将图片全部显示出来,那么会让用户觉得“网速好渣/网页好渣”,于是,
使得尚未出现在用户视区的图片暂时隐藏起来减少页面一开始的加载时间不为是一种好办法
原生js:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div style="height:1290px;width:800px;border:1px;background:gray;"></div>
<div style="height:150px;width:800px;border:1px;background:green;"></div>
<!--<img class="lazy" alt="img/award.jpg" />-->
<div style="height:1290px;width:800px;border:1px;background:gray;"></div>
<img class="lazy" alt="img/header-background.jpg"/>
<script type="text/javascript"><!--
var temp = -1;//用来判断是否是向下滚动(向上滚动就不需要判断延迟加载图片了)
window.onscroll = function() { //当发生滚动时
var imgElements = document.getElementsByTagName("img");
var lazyImgArr = new Array();
var j = 0;
for(var i=0; i<imgElements.length; i++) {
if(imgElements[i].className == "lazy"){
lazyImgArr[j++] = imgElements[i];
}
}
var scrollHeight = document.body.scrollTop;//滚动的高度
var bodyHeight = document.body.offsetHeight;//body(页面)可见区域的总高度,可见部分就是刨去那些隐藏起来的部分
// var bodyHeight = document.body.scrollHeight;//body整个页面的高度(全文的高度)
// var bodyHeight = window.innerHeight;//窗口的高度
console.log(bodyHeight);
if(temp < scrollHeight) {//为true表示是向下滚动,否则是向上滚动,不需要执行动作。
for(var k=0; k<lazyImgArr.length; k++) {
var imgTop = lazyImgArr[k].offsetTop;//图片距离页面顶端的高度
console.log(imgTop);
if((imgTop - scrollHeight) <= bodyHeight) {
lazyImgArr[k].src = lazyImgArr[k].alt;
lazyImgArr[k].className = "notlazy"
}
}
temp = scrollHeight;
}
};
</script>
</body>
</html>
- 图片延迟加载技术
- jquery延迟加载图片
- jquery 图片延迟加载
- 图片延迟加载
- 图片延迟加载
- 延迟加载图片
- js图片延迟加载
- 图片延迟加载 jquery
- 图片延迟加载
- Jquery图片延迟加载
- TinyMce图片延迟加载
- 图片的延迟加载
- jquery 图片延迟加载
- 图片的延迟加载
- lazyload图片延迟加载
- 网页图片延迟加载
- Jquery延迟加载图片
- javascript图片延迟加载
- 智能小车二十一 《电压检测模块设计》
- Spring Boot入门
- “818绿色金融日”第八届中国金融峰会暨2017诚信金融颁奖盛典圆满召开
- CPU卡文件
- Qt 打开并读取文件内容的方法
- 图片延迟加载
- 使用MD5加密数据库中的用户密码介绍
- adb常用命令
- 欢迎使用CSDN-markdown编辑器
- 伽卡他卡终极毁灭版---如何卸载!!!
- Maven相比于传统Java动态工程的优势
- jquery验证后台数据库中是否有重复数据,比如注册的时候需要
- Java Web 之文件上传与下载
- 推荐系统介绍