HTML 实现图片的懒加载

简介: HTML 实现图片的懒加载

<!DOCTYPE html>

<html>

<head>

 <meta charset="utf-8">

 <title></title>

</head>

<body>

 <div class="box">

  <img class="lazy" src="./img/loading.gif" data-src="./img/1.png"  />

  <img class="lazy" src="./img/loading.gif" data-src="./img/1.png" />

  <img class="lazy" src="./img/loading.gif" data-src="./img/1.png" />

  <img class="lazy" src="./img/loading.gif" data-src="./img/1.png" />

  <img class="lazy" src="./img/loading.gif" data-src="./img/1.png" />

  <img class="lazy" src="./img/loading.gif" data-src="./img/1.png" />

  <img class="lazy" src="./img/loading.gif" data-src="./img/1.png" />

 </div>

</body>

</html>

<script>

window.onload = function() {

 // var imgs = document.querySelectorAll('.lazy')

 var imgs = document.querySelectorAll('img')

 function getTop(e) {

  return e.offsetTop

 }

 function lazyLoad(imgs) {

  var s = document.documentElement.scrollTop || document.body.scrollTop

  var h = window.innerHeight

  for(var i= 0;i<imgs.length;i++){

   if(s+h>getTop(imgs[i])){

    // console.log(1111)

    (function(i){

     setTimeout(function(){

      var temp = new Image

      temp.src = imgs[i].getAttribute('data-src');

      temp.onload = function() {

       imgs[i].src =imgs[i].getAttribute('data-src')

      }

     },2000)

    })(i)

   }

   // var test = getTop(imgs[i])

   // console.log('test',test)

  }  

 }

 lazyLoad(imgs)

 window.onscroll =function() {

  lazyLoad(imgs)

 }

 

}

 

</script>

<style>

.box {

 width: 200px;

 display:flex;

 flex-direction:column; // 改变主轴方向

 justify-content:center; // 定义主轴的对齐方式

}

</style>

相关文章
|
27天前
|
移动开发 前端开发 JavaScript
基于 HTML5 和 Canvas 开发的在线图片编辑器
基于 HTML5 和 Canvas 开发的在线图片编辑器
34 0
|
3天前
|
Python
Python 下载 html 中的 图片
Python 下载 html 中的 图片
9 2
|
3月前
|
移动开发
uni-app使用v-html输出富文本图片溢出解决
uni-app使用v-html输出富文本图片溢出解决
314 1
|
25天前
|
数据采集 缓存 自然语言处理
PHP将HTML标签转化为图片
通过这个方法,PHP后端能够实现将HTML内容转化为图片的功能。这种方式虽然牵涉到一些额外的安装和配置,但能够相对灵活且稳定地解冀转换需求,适用于需要在后端动态生成图片的场景。
25 1
|
1月前
|
JavaScript 前端开发 CDN
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)
17 0
vue 生成分享海报、下载图片(含生成二维码qrcodejs2的使用,网页截屏html2canvas的使用)
|
2月前
|
移动开发 前端开发 JavaScript
将HTML5 Canvas的内容保存为图片
将HTML5 Canvas的内容保存为图片
24 5
|
2月前
|
前端开发 UED SEO
HTML基础-链接与图片插入:网页的连接与视觉元素
【6月更文挑战第2天】本文介绍了HTML中`<a>`和`<img>`标签的使用,包括链接的基本结构、目标类型以及图片的插入、尺寸调整和对齐方式。常见问题涉及链接和图片路径、缺失`alt`属性及尺寸不匹配,解决方案包括正确引用资源、使用绝对URL和重视`alt`属性。通过示例代码,展示了创建链接和图片的方法,强调了提升网页用户体验的重要性。
|
2月前
|
存储 移动开发 前端开发
Web网页制作-知识点(1)——HTML5介绍、HTML5的DOCTYPE声明、HTML基本骨架、标题标签、段落 换行、水平线图片图片路径、超链接
Web网页制作-知识点(1)——HTML5介绍、HTML5的DOCTYPE声明、HTML基本骨架、标题标签、段落 换行、水平线图片图片路径、超链接
38 0
|
3月前
|
前端开发 UED 开发者
【专栏:HTML与CSS实战项目篇】制作一个响应式图片画廊
【4月更文挑战第30天】本文介绍了如何使用HTML和CSS创建响应式图片画廊。响应式画廊能根据用户设备屏幕大小自动调整布局。首先规划结构,包含一个图片容器和每张图片元素,并为图片提供替代文本。接着设计样式,设置图片大小、间距和视觉效果。然后通过媒体查询实现响应式设计,根据不同屏幕尺寸调整图片排列。同时考虑性能优化,如压缩图片和使用懒加载技术。最后,测试和调试确保画廊在各种设备上正常工作。这个过程强调了响应式设计和用户体验的重要性。
70 4
|
3月前
在线拼接图片工具HTML源码
在线将多张图片拼接成一张图片,多图合一并导出下载。 无需本地安装软件。 下载时,使用日期时间作为文件名, 规避图片文件名相同造成的覆盖问题;也能省去一部覆盖确认操作 多语言支持
40 0
在线拼接图片工具HTML源码