美文网首页
图片懒加载(滚动到哪显示图片显示到哪)

图片懒加载(滚动到哪显示图片显示到哪)

作者: 温柔戏命师_3758 | 来源:发表于2019-10-09 11:41 被阅读0次

因为

网页加载太慢,想着减少页面卡顿,就开始想让用户看到哪加载到哪,直接上代码了:

```

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</title>

<script src="https://cdn.bootcss.com/jquery/2.1.0/jquery.min.js"></script>

<style>

.container {

max-width: 800px;

margin: 0 auto;

}

.container:after {

content: "";

display: block;

clear: both;

}

.container img {

width: 50%;

height: 200px;

float: left;

}

</style>

</head>

<body>

<div class="container">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

<img src="img/jiazai1.jpg" alt="1" data-src="img/timg.jpg">

</div>

<script>

// 一开始没有滚动的时候,出现在视窗中的图片也会加载

start();

// 当页面开始滚动的时候,遍历图片,如果图片出现在视窗中,就加载图片

var clock; //函数节流

$(window).on('scroll', function() {

if (clock) {

clearTimeout(clock);

}

clock = setTimeout(function() {

start()

}, 200)

})

function start() {

$('.container img').not('[data-isLoading]').each(function() {

if (isShow($(this))) {

loadImg($(this));

}

})

}

// 判断图片是否出现在视窗的函数

function isShow($node) {

return $node.offset().top <= $(window).height() + $(window).scrollTop();

}

// 加载图片的函数,就是把自定义属性data-src 存储的真正的图片地址,赋值给src

function loadImg($img) {

$img.attr('src', $img.attr('data-src'));

// 已经加载的图片,我给它设置一个属性,值为1,作为标识

// 弄这个的初衷是因为,每次滚动的时候,所有的图片都会遍历一遍,这样有点浪费,所以做个标识,滚动的时候只遍历哪些还没有加载的图片

$img.attr('data-isLoading', 1);

}

</script>

</body>

</html>

```

相关文章

网友评论

      本文标题:图片懒加载(滚动到哪显示图片显示到哪)

      本文链接:https://www.haomeiwen.com/subject/mxrktqtx.html