js实现图片懒加载效果


Posted in Javascript onJuly 17, 2017

本文实例为大家分享了js图片懒加载的具体代码,供大家参考,具体内容如下

图片懒加载,思路:当鼠标滑动到对应图片的高度时,进行图片的加载;

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title></title>
  <style type="text/css">
   #div{
    width: 575px;
    height: auto;
    overflow: hidden;
    border: red 1px solid;
    margin: 0 auto;
    /*给该div设置定位*/
    position: relative;
   }
   #div img{
    width: 267px;
    height: 396px;
    margin-left: 10px;
    border: 1px solid #000;
   }
  </style>
  <script type="text/javascript">
   function getPos(obj){
    var l = 0;
    var t = 0;
    while(obj){
      
     l += obj.offsetLeft;
     t += obj.offsetTop;
     obj = obj.offsetParent;
    }
    return {left:l ,top : t}
   }
   window.onload = window.onscroll = function(){
    //获取到img
     var aImg = document.getElementsByTagName("img");
    //获取到它的scrollTop 值 考虑兼容问题
     var oScrollTop = document.documentElement.scrollTop || document.body.scrollTop;
//    clientHeight = 上下padding + height
     var clientH = document.documentElement.clientHeight;
     //循环遍历每一项通过调用获取到每一个i 项对象的top 值
     for (var i = 0;i<aImg.length;i++) {
      var aImgTop = getPos(aImg[i]).top;
//      当滚动的时候进行判断,看他的滚动的高度加上它的clientHeight 是否比它的 top 值大 
//      如果大或等于说明滚动到当前位置可以加载图片
      if (oScrollTop + clientH >= aImgTop) {
//       进行图片的加载
       aImg[i].src = aImg[i].getAttribute("_src");
      }
     }
   }
  </script>
 </head>
 <body>
  <div id="div">
   <img _src="../img/1.jpg"/>
   <img _src="../img/2.jpg"/>
   <img _src="../img/3.jpg"/>
   <img _src="../img/4.jpg"/>
   <img _src="../img/6.jpg"/>
   <img _src="../img/7.jpg"/>
   <img _src="../img/1.jpg"/>
   <img _src="../img/2.jpg"/>
   <img _src="../img/3.jpg"/>
   <img _src="../img/4.jpg"/>
   <img _src="../img/6.jpg"/>
   <img _src="../img/7.jpg"/>
   <img _src="../img/3.jpg"/>
   <img _src="../img/4.jpg"/>
   <img _src="../img/6.jpg"/>
   <img _src="../img/7.jpg"/>
  </div>
 </body>
</html>

当有类似于瀑布流的布局时常用的加载模式

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
flexigrid 类似ext grid的JS表格代码
Jul 17 Javascript
JS实现简单的Canvas画图实例
Jul 04 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
Aug 08 Javascript
更快的异步执行(setTimeout多浏览器)
Aug 12 Javascript
JQuery显示、隐藏div的几种方法简明总结
Apr 16 Javascript
innerHTML中标签可以换行的方法汇总
Aug 14 Javascript
程序员必知35个jQuery 代码片段
Nov 05 Javascript
form表单转Json提交的方法(推荐)
Sep 23 Javascript
Bootstrap栅格系统学习笔记
Nov 25 Javascript
Vue.2.0.5实现Class 与 Style 绑定的实例
Jun 20 Javascript
微信公众平台获取access_token的方法步骤
Mar 29 Javascript
浅析JavaScript中的事件委托机制跟深浅拷贝
Jan 20 Javascript
Vue.js项目部署到服务器的详细步骤
Jul 17 #Javascript
js图片放大镜实例讲解(必看篇)
Jul 17 #Javascript
js学习总结_轮播图之渐隐渐现版(实例讲解)
Jul 17 #Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
Jul 16 #Javascript
node.js express中app.param的用法详解
Jul 16 #Javascript
Node.js中流(stream)的使用方法示例
Jul 16 #Javascript
js+html5实现半透明遮罩层弹框效果
Aug 24 #Javascript
You might like
smarty 原来也不过如此~~呵呵
2006/11/25 PHP
php 随机生成10位字符代码
2009/03/26 PHP
PHP中include()与require()的区别说明
2010/03/10 PHP
JQuery autocomplete 使用手册
2010/04/01 Javascript
Jquery 实现表格颜色交替变化鼠标移过颜色变化实例
2013/08/28 Javascript
js/jquery获取文本框输入焦点的方法
2014/03/04 Javascript
jQuery实现表格行上下移动和置顶效果
2015/06/05 Javascript
Node.js中的process.nextTick使用实例
2015/06/25 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
2016/08/08 Javascript
AngularJS 整理一些优化的小技巧
2016/08/18 Javascript
JS基于递归算法实现1,2,3,4,5,6,7,8,9倒序放入数组中的方法
2017/01/03 Javascript
swiper 解决动态加载数据滑动失效的问题
2018/02/26 Javascript
浅谈Vue路由快照实现思路及其问题
2018/06/07 Javascript
vue-cli配置环境变量的方法
2018/07/09 Javascript
详解使用VueJS开发项目中的兼容问题
2018/08/02 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
vue中利用iscroll.js解决pc端滚动问题
2020/02/15 Javascript
JS实现多功能计算器
2020/10/28 Javascript
[05:05]第三天的dota2
2013/07/29 DOTA
[01:42:49]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第一场 2月26日
2021/03/11 DOTA
介绍Python中的__future__模块
2015/04/27 Python
Python实现将目录中TXT合并成一个大TXT文件的方法
2015/07/15 Python
对python抓取需要登录网站数据的方法详解
2018/05/21 Python
python SVD压缩图像的实现代码
2019/11/05 Python
python读取配置文件方式(ini、yaml、xml)
2020/04/09 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
文史专业毕业生自荐信
2013/11/17 职场文书
毕业生就业自荐信
2013/12/04 职场文书
2014年大学生自我评价
2014/01/19 职场文书
高中微机老师自我鉴定
2014/02/16 职场文书
社区食品安全实施方案
2014/03/28 职场文书
2015入党自荐书范文
2015/03/05 职场文书
写好求职信的技巧解密
2019/05/14 职场文书
导游词之江南周庄
2019/12/06 职场文书
MyBatis 动态SQL全面详解
2021/10/05 MySQL