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 相关文章推荐
jquery高效反选具体实现
May 05 Javascript
JavaScript框架是什么?怎样才能叫做框架?
Jul 01 Javascript
jQuery实现监控页面所有ajax请求的方法
Dec 10 Javascript
【JS+CSS3】实现带预览图幻灯片效果的示例代码
Mar 17 Javascript
JavaScript基于原型链的继承
Jun 22 Javascript
JQuery EasyUI的一些常用组件
Jul 12 jQuery
MVVM框架下实现分页功能示例
Jun 14 Javascript
React中嵌套组件与被嵌套组件的通信过程
Jul 11 Javascript
Vue中的vue-resource示例详解
Nov 02 Javascript
layui实现form表单同时提交数据和文件的代码
Oct 25 Javascript
javascript canvas实现简易时钟例子
Sep 05 Javascript
ajax请求前端跨域问题原因及解决方案
Oct 16 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
用PHP和ACCESS写聊天室(九)
2006/10/09 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
thinkPHP微信分享接口JSSDK用法实例
2017/07/07 PHP
js几个不错的函数 $$()
2006/10/09 Javascript
Extjs学习笔记之六 面版
2010/01/08 Javascript
jQuery动态设置form表单的enctype值(实现代码)
2013/07/04 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
实现只能输入数字的input不用replace方法
2013/09/12 Javascript
bootstrap data与jquery .data
2014/07/07 Javascript
Java File类的常用方法总结
2015/03/18 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
angularjs实现猜大小功能
2017/10/23 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
7个好用的JavaScript技巧分享(译)
2019/05/07 Javascript
利用不到200行代码写一款属于你自己的js类库
2019/07/08 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
Python工程师面试题 与Python Web相关
2016/01/14 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
Python利用multiprocessing实现最简单的分布式作业调度系统实例
2017/11/14 Python
Python之pandas读写文件乱码的解决方法
2018/04/20 Python
django rest framework 数据的查找、过滤、排序的示例
2018/06/25 Python
Python 20行简单实现有道在线翻译的详解
2019/05/15 Python
使用PyInstaller将Pygame库编写的小游戏程序打包为exe文件及出现问题解决方法
2019/09/06 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
四方通行旅游网:台湾订房、出国旅游
2017/09/20 全球购物
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
世界上最好的足球商店:Unisport
2019/03/02 全球购物
《和田的维吾尔》教学反思
2014/04/14 职场文书
1亿有多大教学反思
2014/05/01 职场文书
2015年社区科普工作总结
2015/05/13 职场文书
信息技术教研组工作总结
2015/08/13 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS