懒加载

1.什么是懒加载

  • 只加载当前窗口范围中的图片
  • 在用户滚动页面的时候自动获取更多的数据

2.懒加载的特点

  • 通过滚动获取到的新的数据不会影响原有数据的显示
  • 加快了网页响应的速度
  • 最大程度上减少了服务器端的资源耗用

3.懒加载步骤

  • 拿到图片数据后,不要将图片的地址拼接到图片的src属性中,为其设置其他的属性如data-original,来暂存图片地址
  • 获取屏幕的高度
var screenHeight = $(window).outerHeight();
  • 在图片加载后,获取到所有图片的上边框到document上边框的距离

    this.onload = function () {
        var $this = $(this);
        // 图片距离顶部的值
        var imgScrollTop = $this.offset().top;
    
        // 判断是否在屏幕范围内容
        if (imgScrollTop < screenHeight) {
            // 从data-original中取出值,并放到src属性中
            $this.attr({
                src: $this.attr('data-original')
            });
        }
     }
    
  • 判断在滚屏中,图片是否进入用户的视野

    window.onscroll=function (){
        var srcollValue= screenHeight + $(window).scrollTop();
        $('section img').each(function (i, v) {
             var $this = $(this);
             // 图片距离顶部的值
             var imgScrollTop = $this.offset().top;
             if (imgScrollTop <= scrollValue) {
                 $this.attr({
                     src: $this.attr('data-original')
                 })
             }
         })
    }
    

4.懒加载插件

插件地址:http://www.appelsiini.net/projects/lazyload

使用插件应提前给图片设置高度

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 人生就像一列开往坟墓的列车,路途上会有很多站,很难有人至始至终陪你走完全程,当陪你的人要下车时,即便不舍,也要心存...
    sunny519111阅读 986评论 0 0
  • 1.什么是懒加载 懒加载也就是延迟加载,当使用或者需要的时候才进行的加载操作,这样来避免无谓的开销。说白了就是拖延...
    饥人谷_王欢阅读 3,786评论 2 3
  • 1.如何判断一个元素是否出现在窗口可视范围(浏览器的上边缘和下边缘之间,肉眼可视)。写一个函数 isVisible...
    Rising_suns阅读 314评论 0 0
  • 1、懒加载 1.什么是懒加载? 懒加载也就是延迟加载。当访问一个页面的时候,先把img元素或是其他元素的背景图片路...
    xiaolizhenzhen阅读 70,509评论 18 160
  • 为了使界面看起来高大上,很多app都会加入各种各样的动态效果。本篇文章就简单谈谈波浪效果的实现,效果如下所示: 实...
    陌言莫忘阅读 3,047评论 0 9