zoukankan      html  css  js  c++  java
  • 代理模式实现图片预加载、懒加载

    预加载:
    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> img{ 500px; height: 300px; } </style> </head> <body> </body> </html> <script> var myImg = (function(){ var img = document.createElement("img"); document.body.appendChild(img); return { setImg:function(src){ img.src = src } } })() var proxyImg = (function(){ //img对象 提前加载一张图片如果给这个图片加了一个src属性后就相当于在浏览器中缓存了一张图片 var image = new Image(); image.onload = function(){ // alert("加载完毕"); myImg.setImg(image.src); } return { setSrc:function(src){ //loding myImg.setImg("1.png"); //需要加载的图片 image.src = src; } } })() var src = "http://img.article.pchome.net/00/58/32/28/pic_lib/wm/Msn_lundun08.jpg"; proxyImg.setSrc(src); </script>

    懒加载:
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style>
            *{margin:0;padding:0;}
            img{
                 200px;
                height: 200px;
                display: block;
                float: left;
            }
        </style>
    </head>
    <body>
        <div>
            <img src="" data-url="img/1.jpg">
            <img src="" data-url="img/2.jpg">
            <img src="" data-url="img/3.jpg">
            <img src="" data-url="img/4.jpg">
            <img src="" data-url="img/5.jpg">
            <img src="" data-url="img/6.jpg">
            <img src="" data-url="img/7.jpg">
            <img src="" data-url="img/8.jpg">
            <img src="" data-url="img/9.jpg">
            <img src="" data-url="img/10.jpg">
            <img src="" data-url="img/1.jpg">
            <img src="" data-url="img/2.jpg">
            <img src="" data-url="img/3.jpg">
            <img src="" data-url="img/4.jpg">
            <img src="" data-url="img/5.jpg">
            <img src="" data-url="img/6.jpg">
            <img src="" data-url="img/7.jpg">
            <img src="" data-url="img/8.jpg">
            <img src="" data-url="img/9.jpg">
            <img src="" data-url="img/10.jpg">
            <img src="" data-url="img/1.jpg">
            <img src="" data-url="img/2.jpg">
            <img src="" data-url="img/3.jpg">
            <img src="" data-url="img/4.jpg">
            <img src="" data-url="img/5.jpg">
            <img src="" data-url="img/6.jpg">
            <img src="" data-url="img/7.jpg">
            <img src="" data-url="img/8.jpg">
            <img src="" data-url="img/9.jpg">
            <img src="" data-url="img/10.jpg">
            <img src="" data-url="img/1.jpg">
            <img src="" data-url="img/2.jpg">
            <img src="" data-url="img/3.jpg">
            <img src="" data-url="img/4.jpg">
            <img src="" data-url="img/5.jpg">
            <img src="" data-url="img/6.jpg">
            <img src="" data-url="img/7.jpg">
            <img src="" data-url="img/8.jpg">
            <img src="" data-url="img/9.jpg">
            <img src="" data-url="img/10.jpg">
            <img src="" data-url="img/9.jpg">
            <img src="" data-url="img/10.jpg">
            <img src="" data-url="img/1.jpg">
            <img src="" data-url="img/2.jpg">
            <img src="" data-url="img/3.jpg">
            <img src="" data-url="img/4.jpg">
            <img src="" data-url="img/5.jpg">
            <img src="" data-url="img/6.jpg">
            <img src="" data-url="img/7.jpg">
            <img src="" data-url="img/8.jpg">
            <img src="" data-url="img/9.jpg">
            <img src="" data-url="img/10.jpg">
        </div>
    </body>
    </html>
    <script>
    document.onscroll = function(){
        toimg();
    }
    toimg();
    function toimg(){
        var ih = document.documentElement.clientHeight;
        var t = document.documentElement.scrollTop|| document.body.scrollTop;
        var img = document.getElementsByTagName("img");
            for(var i = 0;i<img.length;i++){
                if((!img[i].bStop)&&img[i].offsetTop<(ih+t)){
                    var src = img[i].getAttribute("data-url");
                    img[i].src = src;
                    img[i].bStop = true;
                    console.log(112)
                }
            }
    }
    </script>
  • 相关阅读:
    Anaconda 换国内源、删源最全集锦(转载)
    【2019】安装anaconda及环境变量的配置(安装第三方库测试)(转载)
    python 中 urlparse 模块介绍
    正则表达式之前瞻后顾
    indows下如何安装python第三方库lxml
    Ubuntu下开启SSH服务 vs:18
    Linux终端访问网页
    关于ubuntu无线网络配置
    SQL语句报错,无法绑定由多个部分组成的标识符解决
    "@P0"附近有语法错误解释及定位修复
  • 原文地址:https://www.cnblogs.com/houjl/p/10137641.html
Copyright © 2011-2022 走看看