• 图片的懒加载问题


    我们在浏览淘宝京东等大型购物网页时会经常出现许多图片而图片需要花费我们非常多的流量问题。

    我们在写网页的时候怎么解决这个问题呢?这时候就要用到我们图片懒加载的问题,这样不仅可以

    解决流量问题,也提高了性能等等。

    下面我们就来看一下图片的懒加载怎么问题。

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
    *{
    margin: 0;
    padding: 0;
    list-style-type: none;
    }
    html,body{
    100%;
    height: 100%;
    }
    #div div{
    400px;
    height: 500px;
    /*border:1px solid #000;*/
    display: inline-block;
    margin:10px;
    }
    img{
    100%;
    height: 100%;
    }
    </style>
    <script>
    // 获取距离父级距离
    function getPos(obj) {
    var t=0;//先声明两个变量 用来存储距离上面的高度 距离左边的高度
    var l=0;
    while (obj){//循环判断这个元素是否存在,存在才执行这个方法
    t+=obj.offsetTop; // 加上距离父级的距离
    l+=obj.offsetLeft;
    obj=obj.offsetParent;// 有父级让他变成他的父级
    }
    return {left:l,top:t}; //把值传出去
    }

    window.onload=window.onscroll=function () {//滚动的时候和页面加载时执行的一样
    var aImg=document.getElementsByTagName('img');//获取所有的元素img元素
    var oSCrollT=document.body.scrollTop || document.documentElement.scrollTop;// 滚动条滚动高度
    var oClh=document.documentElement.clientHeight;//可视区的高度
    var oScr=oSCrollT + oClh; // 滚动条高度 + 可视区的高度
    for(var i=0;i<aImg.length;i++){ //循环所有的img,把它距离页面顶部的距离 和 滚动高度+可视区的高度进行比较
    if(oScr > getPos(aImg[i]).top){
    aImg[i].src=aImg[i].getAttribute('_src'); //给src属性赋值
    }
    }
    }
    </script>
    </head>
    <body>
    <div id="div">
    <div><img _src="img/1.jpg"></div>
    <div><img _src="img/2.jpg"></div>
    <div><img _src="img/3.jpg"></div>
    <div><img _src="img/4.jpg"></div>
    <div><img _src="img/5.jpg"></div>
    <div><img _src="img/6.jpg"></div>
    <div><img _src="img/7.jpg"></div>
    <div><img _src="img/8.jpg"></div>
    <div><img _src="img/9.jpg"></div>
    <div><img _src="img/10.jpg"></div>
    <div><img _src="img/11.jpg"></div>
    <div><img _src="img/12.jpg"></div>
    <div><img _src="img/13.jpg"></div>
    <div><img _src="img/14.jpg"></div>
    <div><img _src="img/15.jpg"></div>
    </div>
    </body>
    </html>
    今天的内容就到这里,你学会了吗?
  • 相关阅读:
    哲理故事
    ajaxToolkit发布之后出错!说未能加载文件或程序集!
    一个沉重的教训!!!
    ValidatorCallout真的是太酷了!
    GridView放在UpdatePanle里面模板列取值!
    Prototype学习笔记之-Ajax.Request
    数据分类重排!
    SQL SERVER 2005 sa登录失败!
    flex应该学到什么程度
    jquery dataTable的学习
  • 原文地址:https://www.cnblogs.com/DongZixin/p/7020211.html
Copyright © 2020-2023  润新知