美文网首页
图片懒加载

图片懒加载

作者: 真的吗_a951 | 来源:发表于2018-08-27 19:36 被阅读0次

懒加载:假如一个网站需要有大量的图片,如果一开始全部加载的话用户刚进入页面的时候需要较久的时间才能进入,这时候就可以使用懒加载的方式,懒加载就是一开始不全部加载图片,当用户浏览到哪里的时候再加载哪里的图片

为了缓解浏览器的压力,提高用户体验

一开始所有的图片指向默认的图片,实际只发送一次请求
把图片地址放到一个新增的自定义元素data-src
出现在视窗后加载
怎么判断是否滚动到当前窗口?为了测试,在最后一栏添加了h1

<div class="wrap">
  <div class="images clearfix">
    <img src="https://tse1-mm.cn.bing.net/th?id=OGC.1ac64a61ff1e93c2c3f0754507f6c8aa&pid=1.7&rurl=http%3a%2f%2fimg.lanrentuku.com%2fimg%2fallimg%2f1609%2f5-160914192R6.gif&ehk=8UCm1CrQWYyZ1qMxfhVsHw" class="image" data-src="http://img15.3lian.com/2015/f2/160/d/73.jpg">
    <img src="https://tse1-mm.cn.bing.net/th?id=OGC.1ac64a61ff1e93c2c3f0754507f6c8aa&pid=1.7&rurl=http%3a%2f%2fimg.lanrentuku.com%2fimg%2fallimg%2f1609%2f5-160914192R6.gif&ehk=8UCm1CrQWYyZ1qMxfhVsHw" class="image" data-src="https://tse1.mm.bing.net/th?id=OIP.rsK6_G2dC5YMPBtRm3rasgHaEo&pid=Api">
    <img src="https://tse1-mm.cn.bing.net/th?id=OGC.1ac64a61ff1e93c2c3f0754507f6c8aa&pid=1.7&rurl=http%3a%2f%2fimg.lanrentuku.com%2fimg%2fallimg%2f1609%2f5-160914192R6.gif&ehk=8UCm1CrQWYyZ1qMxfhVsHw" class="image" data-src="http://img15.3lian.com/2015/f2/160/d/75.jpg">
    <img src="https://tse1-mm.cn.bing.net/th?id=OGC.1ac64a61ff1e93c2c3f0754507f6c8aa&pid=1.7&rurl=http%3a%2f%2fimg.lanrentuku.com%2fimg%2fallimg%2f1609%2f5-160914192R6.gif&ehk=8UCm1CrQWYyZ1qMxfhVsHw" class="image" data-src="http://img8.zol.com.cn/bbs/upload/13665/13664158.jpg">
    <img src="https://tse1-mm.cn.bing.net/th?id=OGC.1ac64a61ff1e93c2c3f0754507f6c8aa&pid=1.7&rurl=http%3a%2f%2fimg.lanrentuku.com%2fimg%2fallimg%2f1609%2f5-160914192R6.gif&ehk=8UCm1CrQWYyZ1qMxfhVsHw" class="image" data-src="http://img15.3lian.com/2015/f2/160/d/72.jpg">
    <img src="https://tse1-mm.cn.bing.net/th?id=OGC.1ac64a61ff1e93c2c3f0754507f6c8aa&pid=1.7&rurl=http%3a%2f%2fimg.lanrentuku.com%2fimg%2fallimg%2f1609%2f5-160914192R6.gif&ehk=8UCm1CrQWYyZ1qMxfhVsHw" class="image" data-src="http://img15.3lian.com/2015/f2/160/d/74.jpg">
    <h1>xcc</h1>
    <img src="https://tse1-mm.cn.bing.net/th?id=OGC.1ac64a61ff1e93c2c3f0754507f6c8aa&pid=1.7&rurl=http%3a%2f%2fimg.lanrentuku.com%2fimg%2fallimg%2f1609%2f5-160914192R6.gif&ehk=8UCm1CrQWYyZ1qMxfhVsHw" class="image" data-src="http://img15.3lian.com/2015/f2/160/d/75.jpg">

当h1出现在视窗时,$('.wrap').height() + $('.wrap').scrollTop() >= $('h1').offset().top为true,


也就是当$('.wrap').height() + $('.wrap').scrollTop() >= $('h1').offset().top为true时,这个图片就加载
jq实现:
start()//初始化加载图片
//触发滚动事件
$('.wrap').on('scroll',function() {
  start()
})
function start(){
  $('.image').each(function(){
    var $node = $(this)
    if(show($node)){
      changeSrc($node)
    }
  })
}
//显示出来
function show($node){
 return $('.wrap').height() + $('.wrap').scrollTop() >= $('h1').offset().top
}
//替换src
function changeSrc($node){
  $node.attr('src',$node.attr('data-src'))
}

相关文章

  • 项目优化

    图片懒加载,数据懒加载, 路由懒加载 1.图片懒加载原理 1.1 开始时 不设置src属性 1.2 图片在可视区域...

  • JS

    JS 懒加载,预加载 概念:懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片。预加...

  • 图片懒加载

    懒加载与预加载的基本概念。 懒加载也叫延迟加载:JS图片延迟加载 延迟加载图片或符合某些条件时才加载某些图片。 预...

  • 图片懒加载

    图片懒加载 图片懒加载在一些图片密集型的网站中运用比较多,通过图片懒加载可以让一些不可视的图片不去加载,避免一次性...

  • js 实现图片懒加载

    一、懒加载 懒加载也叫延迟加载,Js中图片的延迟加载,延迟图片需要符合某些条件时才加载;对于图片过多的页面,为了加...

  • 图片懒加载和预加载

    图片懒加载的原理是什么? 首先明白为什么要懒加载: 懒加载即延迟,对于图片过多的页面,为了加快页面加载速度,我们需...

  • selenuim和phantonJs处理网页动态加载数据的爬取

    一.图片懒加载 什么是图片懒加载? 图片懒加载是一种网页优化技术。图片作为一种网络资源,在被请求时也与普通静态资源...

  • 懒加载和瀑布流

    一、简述图片懒加载的实现原理 图片懒加载 若一开始,页面上有许多的图片要加载,而如果同时加载这么多图片,会消耗性能...

  • jquery懒加载、回到顶部

    1.知识点部分: 懒加载图片的原理是什么? 图片懒加载也称为曝光加载,将页面上的图片分批加载,只有当图片出现在wi...

  • 懒加载和预加载

    1)概念: 懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片。预加载:提前加载图片...

网友评论

      本文标题:图片懒加载

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