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 相关文章推荐
JavaScript 应用技巧集合[推荐]
Aug 30 Javascript
控制文字内容的显示与隐藏示例
Jun 11 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
Jul 23 Javascript
JavaScript将字符串转换为整数的方法
Apr 14 Javascript
jQuery Validate验证框架经典大全
Sep 23 Javascript
JavaScript setTimeout使用闭包功能实现定时打印数值
Dec 18 Javascript
JQuery给select添加/删除节点的实现代码
Apr 26 Javascript
微信小程序 实战小程序实例
Oct 08 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
Dec 13 Javascript
微信小程序开发之入门实例教程篇
Mar 07 Javascript
JavaScript 面向对象基础简单示例
Oct 02 Javascript
vscode自定义vue模板的实现
Jan 27 Vue.js
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
MYSQL数据库初学者使用指南
2006/11/16 PHP
PHP生成自定义长度随机字符串的函数分享
2014/05/04 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
php截取指定2个字符之间字符串的方法
2015/04/15 PHP
浅谈php处理后端&amp;接口访问超时的解决方法
2016/10/29 PHP
解决Laravel 使用insert插入数据,字段created_at为0000的问题
2019/10/11 PHP
js可突破windows弹退效果代码
2008/08/09 Javascript
jQuery 全选效果实现代码
2009/03/23 Javascript
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
用方法封装javascript的new操作符(一)
2010/12/25 Javascript
纯js实现div内图片自适应大小(已测试,兼容火狐)
2014/06/16 Javascript
jQuery 中$(this).index与$.each的使用指南
2014/11/20 Javascript
jQuery中is()方法用法实例
2015/01/06 Javascript
javascript日期验证之输入日期大于等于当前日期
2015/12/13 Javascript
深入理解js函数的作用域与this指向
2016/05/28 Javascript
使用nodejs爬取前程无忧前端技能排行
2017/05/06 NodeJs
十个免费的web前端开发工具详细整理
2017/09/18 Javascript
解决JavaScript layui 下拉框不显示的问题
2018/08/14 Javascript
解决Layui 表单提交数据为空的问题
2018/08/15 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
pygame学习笔记(6):完成一个简单的游戏
2015/04/15 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
python实现超市商品销售管理系统
2019/10/25 Python
Django框架创建项目的方法入门教程
2019/11/04 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
linux 下selenium chrome使用详解
2020/04/02 Python
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
财务管理专业应届毕业生求职信
2013/09/22 职场文书
金融专业个人求职信范文
2013/11/28 职场文书
自荐信的基本格式
2014/02/22 职场文书
教师节学生演讲稿
2014/09/03 职场文书
三峡导游词
2015/01/31 职场文书
请客吃饭开场白
2015/06/01 职场文书