当前位置:首页 > jquery

jquery懒加载

2026-02-03 19:43:15jquery

jQuery懒加载的实现方法

懒加载(Lazy Load)是一种优化网页性能的技术,通过延迟加载非关键资源(如图片)来减少初始页面加载时间。以下是使用jQuery实现懒加载的几种方法:

使用jQuery Lazy插件

jQuery Lazy是一个轻量级插件,专门用于实现懒加载功能。

安装插件:

jquery懒加载

<script src="https://cdn.jsdelivr.net/npm/jquery-lazy@1.7.11/jquery.lazy.min.js"></script>

基本用法:

$("img.lazy").Lazy({
    effect: "fadeIn",
    effectTime: 1000,
    threshold: 0
});

HTML标记:

jquery懒加载

<img class="lazy" data-src="image.jpg" alt="Lazy loaded image">

自定义jQuery懒加载

如果不使用插件,可以通过监听滚动事件实现基本懒加载功能:

$(window).on("scroll", function() {
    $("img[data-src]").each(function() {
        if (isElementInViewport(this)) {
            $(this).attr("src", $(this).data("src")).removeAttr("data-src");
        }
    });
});

function isElementInViewport(el) {
    var rect = el.getBoundingClientRect();
    return (
        rect.top >= 0 &&
        rect.left >= 0 &&
        rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
        rect.right <= (window.innerWidth || document.documentElement.clientWidth)
    );
}

使用Intersection Observer API

现代浏览器支持Intersection Observer API,性能比滚动事件监听更好:

if ("IntersectionObserver" in window) {
    const lazyImages = $("img[data-src]");
    const imageObserver = new IntersectionObserver(function(entries) {
        entries.forEach(function(entry) {
            if (entry.isIntersecting) {
                const img = entry.target;
                img.src = img.dataset.src;
                imageObserver.unobserve(img);
            }
        });
    });

    lazyImages.each(function() {
        imageObserver.observe(this);
    });
}

注意事项

  • 确保为懒加载图片设置占位尺寸,避免布局跳动
  • 考虑添加加载中的占位图或旋转动画
  • 移动端需要特别处理触摸事件
  • 对于SEO,可以考虑使用noscript标签提供后备方案

以上方法可以根据项目需求选择使用,插件方案更全面但会增加文件大小,自定义方案更灵活但需要更多调试。

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

相关文章

jquery教程

jquery教程

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。其核心特点是“写得更少,做得更多”(Write Les…

jquery库

jquery库

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

jquery作用

jquery作用

jQuery的作用概述 jQuery是一个快速、简洁的JavaScript库,主要用于简化HTML文档遍历、事件处理、动画设计和Ajax交互等操作。其核心目标是让开发者以更少的代码完成更多功能,同时解…

jquery代码

jquery代码

以下是关于jQuery代码的常见用法和示例,涵盖基础操作、事件处理、DOM操作等核心功能: 基础语法 jQuery通过$()函数选择元素,支持CSS选择器语法: // 选择所有<p>元…

jquery文件

jquery文件

jQuery文件获取与使用 jQuery是一个快速、简洁的JavaScript库,简化了HTML文档遍历、事件处理、动画和Ajax交互。以下是获取和使用jQuery文件的方法。 下载jQuery文件…

jquery 切换

jquery 切换

jQuery 切换操作 jQuery 提供了多种切换元素状态的方法,包括显示/隐藏、类切换、属性切换等。以下是常见的切换操作实现方式。 显示与隐藏切换 使用 toggle() 方法可以在显示和隐藏之…