美文网首页程序员
懒加载、预加载、

懒加载、预加载、

作者: chasing_dream | 来源:发表于2018-03-18 21:39 被阅读14次

懒加载是什么:

能防止页面一次性向服务器响应大量请求导致服务器响应慢,页面卡顿或崩溃等问题
是提到前端性能优化中图片资源的优化的非常有效的方法

原理

原理:先将img标签中的src链接设为同一张图片(空白图片),将其真正的图片地址存储再img标签的自定义属性中(比如data-src)。当js监听到该图片元素进入可视窗口时,即将自定义属性中的地址存储到src属性中,达到懒加载的效果。

懒加载的实现

实现原理:基于判断元素是否出现在窗口可视范围内

function isVisible($node){
    var winH = $(window).height(),
        scrollTop = $(window).scrollTop(),     //scrollTop() 方法返回或设置匹配元素的滚动条的垂直位置。
        offSetTop = $(window).offSet().top;   //offset() 方法返回或设置匹配元素相对于文档的偏移(位置)
    if (offSetTop < winH + scrollTop) {
        return true;
    } else {
        return false;
    }
}

再添加上浏览器的事件监听函数,让浏览器每次滚动就检查元素是否出现在窗口可视范围内

$(window).on("scroll", function{
    if (isVisible($node)){
        console.log(true);
    }
})

让元素只在第一次被检查到时打印true,之后就不再打印了

var hasShowed = false;
$(window).on("sroll",function{
    if (hasShowed) {
        return;
    } else {
        if (isVisible($node)) {
            hasShowed = !hasShowed;
            console.log(true);
        }
    }
})

完整代码显示
参考资料

相关文章

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

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

  • JS

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

  • 图片懒加载

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

  • 懒加载和预加载

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

  • Android 懒加载优化

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

  • vue中图片预加载&懒加载

    简单解释 懒加载顾名思义,很懒,所以用到时才开始加载,不用不加载。 预加载,预,提前的意思。没用到时...

  • 微信程序项目边界

    详情头部标题省略加载{懒加载,预加载,无限加载,加载中} 常见路由切换

  • 懒加载、预加载、

    懒加载是什么: 能防止页面一次性向服务器响应大量请求导致服务器响应慢,页面卡顿或崩溃等问题是提到前端性能优化中图片...

  • 预加载 + 懒加载

    http://web.jobbole.com/85294/

  • 懒加载、预加载

    https://juejin.im/post/5b0c3b53f265da09253cbed0 一、懒加载 1.什...

网友评论

    本文标题:懒加载、预加载、

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