当前位置:首页 > jquery

jquery 懒加载

2026-03-16 14:09:27jquery

jQuery 懒加载实现方法

懒加载(Lazy Load)是一种优化网页性能的技术,延迟加载非关键资源(如图片、视频等),直到用户滚动到它们附近时才加载。以下是使用 jQuery 实现懒加载的几种方法:

使用 jQuery Lazy 插件

jQuery Lazy 是一个轻量级的懒加载插件,支持图片、背景图、iframe 等多种内容。

  1. 引入 jQuery 和 jQuery Lazy 在 HTML 文件中添加以下代码:

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/jquery-lazy@1.7.11/jquery.lazy.min.js"></script>
  2. 标记需要懒加载的元素 为需要懒加载的图片添加 data-src 属性:

    <img class="lazy" data-src="path/to/image.jpg" alt="Lazy Loaded Image">
  3. 初始化 Lazy 插件 在 JavaScript 中初始化插件:

    $(function() {
        $('.lazy').Lazy();
    });
  4. 配置选项(可选) 可以配置延迟加载的触发条件、加载效果等:

    $('.lazy').Lazy({
        effect: 'fadeIn',
        effectTime: 1000,
        threshold: 200
    });

原生 jQuery 实现懒加载

如果不依赖插件,可以通过监听滚动事件实现懒加载。

  1. 标记需要懒加载的元素 使用 data-src 存储真实图片路径:

    <img class="lazy" data-src="path/to/image.jpg" src="placeholder.jpg" alt="Lazy Loaded Image">
  2. 检测元素是否进入视口 检查元素是否在可视区域内:

    function isInViewport(element) {
        var rect = element.getBoundingClientRect();
        return (
            rect.top <= (window.innerHeight || document.documentElement.clientHeight)
        );
    }
  3. 滚动事件触发加载 监听滚动事件并加载图片:

    $(window).on('scroll', function() {
        $('.lazy').each(function() {
            if (isInViewport(this)) {
                $(this).attr('src', $(this).data('src'));
                $(this).removeClass('lazy');
            }
        });
    });
  4. 初始加载 页面加载时触发一次检查:

    $(window).trigger('scroll');

使用 Intersection Observer API

现代浏览器支持 Intersection Observer API,性能优于滚动事件监听。

  1. 标记需要懒加载的元素

    <img class="lazy" data-src="path/to/image.jpg" src="placeholder.jpg" alt="Lazy Loaded Image">
  2. 创建 Observer 实例

    var observer = new IntersectionObserver(function(entries) {
        entries.forEach(function(entry) {
            if (entry.isIntersecting) {
                var img = entry.target;
                img.src = img.dataset.src;
                observer.unobserve(img);
            }
        });
    });
  3. 观察所有懒加载元素

    jquery 懒加载

    $('.lazy').each(function() {
        observer.observe(this);
    });

注意事项

  • 兼容性:如果使用 Intersection Observer API,需检查浏览器兼容性或引入 polyfill。
  • 占位图:建议为懒加载图片设置占位图(如低分辨率预览图或纯色背景)。
  • 性能优化:适当设置 threshold 或延迟加载的触发距离,避免频繁触发。
  • SEO 友好:确保懒加载内容能被搜索引擎爬虫正确抓取。

标签: 加载jquery
分享给朋友:

相关文章

jquery 添加

jquery 添加

jQuery 添加元素的方法 动态添加 HTML 内容 使用 append()、prepend()、after() 或 before() 方法可以在 DOM 中插入新元素。 // 在元素内部末尾…

jquery对象

jquery对象

jQuery 对象简介 jQuery 对象是通过 jQuery 选择器或方法创建的封装了 DOM 元素集合的对象。它提供了一系列便捷的方法来操作 DOM、处理事件、实现动画等。与原生 DOM 对象不同…

jquery 加载

jquery 加载

jQuery 加载方法 使用jQuery需要先将其库文件加载到网页中。以下是几种常见的加载方式: 通过CDN加载 推荐使用官方或公共CDN(内容分发网络)加载jQuery,速度快且可能被浏览器缓存:…

jquery字符串

jquery字符串

jQuery 字符串操作 jQuery 提供了多种方法来处理字符串,尽管它主要是一个 DOM 操作库,但字符串处理在动态内容生成和数据交互中非常常见。 字符串拼接与连接 使用 JavaScript…

jquery鼠标

jquery鼠标

jQuery 鼠标事件处理 jQuery 提供了丰富的鼠标事件处理方法,可以方便地响应用户的鼠标操作。以下是常见的鼠标事件及其用法: 鼠标点击事件 click(): 鼠标单击时触发 dblclic…

jquery a

jquery a

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更…