zoukankan      html  css  js  c++  java
  • 图片懒加载

    在图片比较多的网站总会看见,当浏览到那个位置,就加载那的图片。

    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title></title>
    		<style type="text/css">
    			*{
    				margin: 0;
    				padding: 0;
    			}
    			img{
    				display: block;
    				 500px;
    				height: 300px;
    			}
    			div{
    				margin: 500px 0 0 40px;
    			}
    		</style>
    	</head>
    	<body>
    		<div id="banner">
    			<img data-src="image/01.jpeg">
    			<img data-src="image/02.jpeg">
    			<img data-src="image/03.jpeg">
    			<img data-src="image/04.jpeg">
    			<img data-src="image/05.jpg">
    			<img data-src="image/06.png">
    			<img data-src="image/07.png">
    			<img data-src="image/08.png">
    		</div>
    
    		<script type="text/javascript">
    			window.onload=function(){
    				var banner=document.getElementById("banner"); 
    				var imgs=banner.getElementsByTagName("img");
    				 add();//页面加载完成先执行一次
    				function getTop(obj){ //写一个方法获取图片距离top的值
    					var t=0;      //定义一个保存top值的 变量
    					while(obj){  //循环获取每个父级定位的top值
    						t+=obj.offsetTop;  //获取传入或改变父级定位的top值,当到大body的时候没有 他的父级定位为null所以就停了
    						obj=obj.offsetParent; //获取obj的父级定位
    						console.log(t)
    						console.log(obj)
    					}
    					return t;
    				}
    				function add(){
    					var S = document.documentElement.scrollTop || document.body.scrollTop; //获取滑动条距top的值
    					var H = window.innerHeight; //获取显示区域高度(只读)
    					for(var i=0;i<imgs.length;i++){  //循环图片
    						if((S+H) > getTop(imgs[i])){ 判断图片是否进入可视区域
    							imgs[i].setAttribute("src",imgs[i].getAttribute("data-src")); //当进入的时候给src 赋值
    						}
    					}
    				}
    				
    				window.onscroll=function(){ //每次滚动运行方法判断
    					add()
    				}
    			}
    				
    				
    				
    			
    		</script>
    	</body>
    </html>
    

      

  • 相关阅读:
    邪恶改装2:用单片机实现一次简单的wifi密码欺骗
    TPYBoard自制微信远程智能温湿度计
    什么是私有网络
    DCHP是什么意思
    ipconfig 命令有什么作用
    什么是网关及网关作用
    什么叫路由
    kvm libvirt 虚拟机管理
    通过python-libvirt管理KVM虚拟机 源码
    通过python-libvirt管理KVM虚拟机 代码实现
  • 原文地址:https://www.cnblogs.com/durenlong/p/7091777.html
Copyright © 2011-2022 走看看