当前位置:首页 > jquery

jquery懒加载

2026-04-08 13:02:28jquery

jQuery 懒加载的实现方法

懒加载(Lazy Load)是一种优化网页性能的技术,通过延迟加载非可视区域的内容(如图片、视频等),减少初始页面加载时间。以下是使用 jQuery 实现懒加载的几种方法。

方法一:使用 data-src 属性延迟加载图片

将图片的真实路径存储在 data-src 属性中,当图片进入可视区域时,再将 data-src 的值赋给 src 属性。

jquery懒加载

<img class="lazy" data-src="path/to/image.jpg" alt="Lazy Loaded Image">
$(document).ready(function() {
  $(window).on('scroll resize', function() {
    $('.lazy').each(function() {
      if ($(this).isInViewport()) {
        $(this).attr('src', $(this).data('src'));
        $(this).removeClass('lazy');
      }
    });
  }).trigger('scroll');
});

// 检查元素是否在可视区域
$.fn.isInViewport = function() {
  var elementTop = $(this).offset().top;
  var elementBottom = elementTop + $(this).outerHeight();
  var viewportTop = $(window).scrollTop();
  var viewportBottom = viewportTop + $(window).height();
  return elementBottom > viewportTop && elementTop < viewportBottom;
};

方法二:使用 jQuery Lazy 插件

jQuery Lazy 是一个轻量级的懒加载插件,支持图片和其他内容的延迟加载。

jquery懒加载

<img class="lazy" data-src="path/to/image.jpg" alt="Lazy Loaded Image">
$(document).ready(function() {
  $('.lazy').Lazy({
    effect: 'fadeIn',
    threshold: 0, // 触发加载的提前量
  });
});

方法三:使用 Intersection Observer API(现代浏览器)

虽然这不是纯 jQuery 的实现,但结合 jQuery 可以更高效地实现懒加载。

$(document).ready(function() {
  const observer = new IntersectionObserver(function(entries) {
    entries.forEach(function(entry) {
      if (entry.isIntersecting) {
        const $img = $(entry.target);
        $img.attr('src', $img.data('src'));
        observer.unobserve(entry.target);
      }
    });
  }, {
    threshold: 0.1
  });

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

方法四:使用 jquery-lazyload 插件

jquery-lazyload 是一个流行的懒加载插件,支持图片延迟加载。

<img class="lazy" data-original="path/to/image.jpg" alt="Lazy Loaded Image">
$(document).ready(function() {
  $('.lazy').lazyload({
    effect: 'fadeIn',
    threshold: 200 // 提前加载的像素值
  });
});

注意事项

  1. 占位符:为懒加载图片设置占位符(如低分辨率图片或背景色),避免布局抖动。
  2. SEO 友好:确保懒加载内容能被搜索引擎抓取,例如使用 <noscript> 标签提供备用内容。
  3. 性能优化:结合防抖(debounce)或节流(throttle)技术,避免频繁触发滚动事件。

通过以上方法,可以轻松实现 jQuery 懒加载功能,提升页面加载速度和用户体验。

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

相关文章

react 如何引入jquery

react 如何引入jquery

引入 jQuery 到 React 项目 在 React 项目中引入 jQuery 可以通过多种方式实现,但需要注意 React 和 jQuery 操作 DOM 的方式可能冲突,因此建议仅在必要时使用…

jquery js

jquery js

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

jquery代码

jquery代码

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

jquery 选中

jquery 选中

jQuery 选中元素的方法 jQuery 提供了多种方式来选中 DOM 元素,以下是一些常用的方法: 通过 ID 选中元素 使用 # 符号加上元素的 ID 来选中特定元素: $('#elemen…

jquery 隐藏

jquery 隐藏

jQuery 隐藏元素的方法 使用 jQuery 隐藏元素可以通过多种方式实现,以下是几种常见的方法: hide() 方法hide() 是最简单的隐藏元素方法,它会将元素的 display 属性设置…

jquery上传

jquery上传

jQuery 文件上传的实现方法 jQuery 可以通过多种方式实现文件上传功能,以下介绍几种常见的方法: 使用原生表单和 AJAX 通过 HTML 表单结合 jQuery 的 AJAX 功能实现文…