当前位置:首页 > 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
分享给朋友:

相关文章

vue懒加载实现难吗

vue懒加载实现难吗

Vue懒加载的实现难度 Vue懒加载的实现并不复杂,尤其是借助现代工具和库的支持。懒加载的核心思想是按需加载资源,通常用于路由或组件,以提升页面初始加载速度。以下是常见的实现方法和注意事项: 路由懒…

jquery js

jquery js

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

jquery属性

jquery属性

jQuery 属性操作 jQuery 提供了多种方法来操作 HTML 元素的属性。这些方法可以用于获取、设置、修改或删除元素的属性。 获取属性值 使用 attr() 方法可以获取指定属性的值。例如,…

jquery字符串

jquery字符串

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

jquery赋值

jquery赋值

jQuery 赋值操作 jQuery 提供了多种方法对 HTML 元素的属性、内容、样式等进行赋值操作。以下是常见的几种赋值方式: 文本内容赋值 使用 text() 方法可以设置元素的文本内容,该…

jquery 特效

jquery 特效

jQuery 特效实现方法 jQuery 提供了丰富的特效方法,可以轻松实现动画、渐变、滑动等效果。以下是一些常见的 jQuery 特效实现方式: 淡入淡出效果 使用 fadeIn() 和 fade…