当前位置: 首页 > news >正文

图片懒加载+IntersectionObserver

通过IntersectionObserver实现图片懒加载

在JavaScript中,图片懒加载可以通过监听滚动事件和计算图片距离视口顶部的距离来实现

  1. 在HTML中,将src属性设置为一个透明的1x1像素图片作为占位符,并将实际的图片URL设置为data-src属性。

    <img class="lazy" data-src="your-image-url.jpg" alt="描述">
    
  2. 在JavaScript中,创建一个函数来处理图片懒加载。

    function lazyLoadImages() {const images = document.querySelectorAll('.lazy');const options = {root: null,rootMargin: '0px',threshold: 0.1, // 当图片的10%进入视口时加载图片};const observer = new IntersectionObserver((entries, observer) => {entries.forEach(entry => {if (entry.isIntersecting) {const img = entry.target;const src = img.getAttribute('data-src');img.src = src;observer.unobserve(img); // 停止观察已加载的图片}});}, options);images.forEach(image => {observer.observe(image);});
    }
    
  3. 在页面加载完成后调用lazyLoadImages函数。

    window.addEventListener('DOMContentLoaded', lazyLoadImages);
    

现在,当用户滚动页面并且图片进入视口时,图片将自动加载。这种方法可以提高页面加载速度,特别是对于包含大量图片的网页。

http://www.lryc.cn/news/498534.html

相关文章:

  • MySQL的获取、安装、配置及使用教程
  • Odoo在线python代码开发
  • 在.NET 6中使用Serilog收集日志
  • 【D3.js in Action 3 精译_043】5.1 饼图和环形图的创建(中):D3 饼图布局生成器的配置方法
  • 离线安装ollama到服务器
  • 自动化点亮LED灯之程序编写
  • linux 系列服务器 高并发下ulimit优化文档
  • 人工智能入门数学基础:统计推断详解
  • Spark区分应用程序 Application、作业Job、阶段Stage、任务Task
  • 【Liunx篇】基础开发工具 - yum
  • docker学习笔记(五)--docker-compose
  • 电子商务人工智能指南 4/6 - 内容理解
  • Hadoop3集群实战:从零开始的搭建之旅
  • Kotlin设计模式之桥接模式
  • 详解组合模式
  • 【系统架构设计师论文】云上自动化运维及其应用
  • 交换排序----快速排序
  • ES 与 MySQL 在较大数据量下查询性能对比
  • C# 新语法中的字符串内插$和{}符号用法详解
  • Nacos源码学习-本地环境搭建
  • windows 好工具
  • 计算机运行时提示错误弹窗“由于找不到 quazip.dll,无法继续执行代码。”是什么原因?“quazip.dll文件缺失”要怎么解决?
  • 创造未来:The Sandbox 创作者训练营如何赋能全球创造者
  • R语言对简·奥斯汀作品中人物对话的情感分析
  • 股指期货基差为正数,这是啥意思?
  • 黑马程序员MybatisPlus/Docker相关内容
  • 使用 Vue 和 Canvas-Confetti 实现烟花动画特效
  • 【银河麒麟操作系统真实案例分享】内存黑洞导致服务器卡死分析全过程
  • 如何加强游戏安全,防止定制外挂影响游戏公平性
  • SpringBoot整合knife4j,以及会遇到的一些bug