懒加载

作者: leocz | 来源:发表于2017-08-16 18:11 被阅读0次

1. 写一个函数isVisible判断一个元素时否出现在窗口可视范围

function isVisible($node){
  var scrollTop = $(window).scrollTop();
  var wHeight = $(window).height();
  var offsetTop = $node.offset().top;
 
  if(offsetTop < scrollTop + wHeight && offsetTop > scrollTop ){
    console.log(true);
    return true;
  }
  return false;
}

2. 当窗口滚动时,判断一个元素是不是出现在窗口可视范围,每次出现都在控制台打印 true

$(function(){

  function isVisible($node){
  var scrollTop = $(window).scrollTop();
  var wHeight = $(window).height();
  var offsetTop = $node.offset().top;
  if(offsetTop < scrollTop + wHeight && offsetTop > scrollTop ){
    console.log(true);
  }
}
 $(window).on("scroll",function(){
     isVisible($node)
  })
})

3.当窗口滚动时,判断一个元素是不是出现在窗口可视范围。在元素第一次出现时在控制台打印 true,以后再次出现不做任何处理。

$(function(){
  var hasCome= false;

  function firstEnter($node){
  if(hasCome){return}
  var scrollTop = $(window).scrollTop();
  var wHeight = $(window).height();
  var offsetTop = $node.offset().top;
  
  if(offsetTop < scrollTop + wHeight && offsetTop > scrollTop ){
    console.log(true);
    hasCome = true;
  }
}
 $(window).on("scroll",function(){
     isVisible($node)
  })
})

4. 图片懒加载的原理是什么?

当一个网站上的图片资源很多的时候,如果把资源一次性请求过来,会造成页面加载过慢,并且服务器压力也会过大。这时,如果能先请求加载用户能看到的图片,不能看到的图片先不请求,等待图片进入可视区的时候再加载,这样分批请求加载可以解决上述困境。

其原理:,先把img元素或是其他元素的背景图片路径不设置,只有当图片出现在浏览器的可视区域内时,才设置图片正真的路径,让图片显示出来。判断图片是否进入可视区,监听页面的滚动scroll事件,获取

  • 滚动的距离scroll(垂直$(window).scrollTop(),水平距离$(window).srollLeft()),
  • 页面可视距离window(垂直$(window).height(), 水平$(window).width()),
  • 元素距离窗口边距的距离offset(垂直offset().top,水平offset().left),

进入可视区的条件是

offset < scroll + window && offset >= scroll

5. 懒加载实例

效果→效果

相关文章

  • iOS开发,懒加载

    什么是懒加载? 懒加载--比较懒的加载方式,需要的时候才加载,也称为延时加载。 所谓懒加载既是重写get方法,一定...

  • iOS开发UI篇-懒加载、重写setter方法赋值

    一、懒加载 1.懒加载定义 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的...

  • Fragment结合ViewPager之懒加载

    什么是懒加载?为什么要用懒加载?### 1、什么是懒加载 懒加载就是当ViewPager和Fragment结合在一...

  • iOS懒加载注意事项

    懒加载 1.懒加载 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其ge...

  • web优化之懒加载和预加载

    懒加载和预加载是常用的web优化的手段。所以我们首先应该明白什么是懒加载和预加载。懒加载:懒加载也加延迟加载,延迟...

  • fragment 懒加载

    fragment 的懒加载 懒加载 什么是懒加载:只有在 fragment 显示在界面的时候,才进行数据的加载 懒...

  • 懒加载和预加载

    懒加载和预加载 1. 懒加载 1. 什么是懒加载? 懒加载也就是延迟加载 当访问一个页面的时候,先把img元素或是...

  • Android 懒加载优化

    目录介绍 1.什么是懒加载1.1 什么是预加载1.2 懒加载介绍1.3 懒加载概括 2.实际应用中有哪些懒加载案例...

  • Swift语法点

    1 懒加载 懒加载与OC中的懒加载的区别:懒加载的类一旦 设置为nil 后, 懒加载就不会再次执行,与OC中不同,...

  • UICollectionView

    UICollectionViewFlowLayout懒加载 UICollectionView懒加载 注册item ...

网友评论

      本文标题:懒加载

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