600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > js懒加载和预加载

js懒加载和预加载

时间:2022-05-18 21:07:50

相关推荐

js懒加载和预加载

独角兽企业重金招聘Python工程师标准>>>

预加载:是提前加载,会增加服务器性能。

懒加载:1、延时加载,2、特定条件加载,3、可视窗口加载(滚动过程中加载)。

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

<style type="text/css">

.box{

width: 200px;height: 200px;

border: 1px solid red;

background: url(img/01.png) center center;

}

</style>

</head>

<body>

<div class="box"></div>

<img src="img/01.png" data-src="/uploadfile//0924/0924050538590.jpg"/>

</body>

</html>

<script src="/jquery/2.0.0/jquery.min.js"></script>

<script type="text/javascript">

// 新建图片数组

var images = new Array()

function preload() {

for (i = 0; i < preload.arguments.length; i++) {

images[i] = new Image();

images[i].src = preload.arguments[i];

}

}

// 要加载的网络图片资源,以数组形式

preload(

"/uploadfile//0924/0924050538590.jpg",

"/www/news/UploadFiles_7354/09/09030034517181.jpg",

"http://img0./640x0/game/0920/13f41313-72b9-4c9c-b7b7-3406751dbe6b.jpg"

);

$(function(){

$(".box").css("background-image","url("+images[0].src+")")

});

// 懒加载

var num = document.getElementsByTagName('img').length;

var img = document.getElementsByTagName("img");

var n = 0; //存储图片加载到的位置,避免每次都从第一张图片开始遍历

lazyload(); //页面载入完毕加载可是区域内的图片

window.onscroll = lazyload;

function lazyload() { //监听页面滚动事件

var seeHeight = document.documentElement.clientHeight; //可见区域高度

var scrollTop = document.documentElement.scrollTop || document.body.scrollTop; //滚动条距离顶部高度

for (var i = n; i < num; i++) {

if (img[i].offsetTop < seeHeight + scrollTop) {

// if (img[i].getAttribute("src") == "") {

img[i].src = img[i].getAttribute("data-src");

// }

n = i + 1;

}

}

}

</script>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
懒加载和预加载

懒加载和预加载

2024-04-19

【vue】预加载 懒加载

【vue】预加载 懒加载

2022-03-20

预加载和懒加载

预加载和懒加载

2020-03-06

懒加载与预加载

懒加载与预加载

2019-01-28