美文网首页
延迟加载和预加载实现

延迟加载和预加载实现

作者: 六月太阳花 | 来源:发表于2017-02-06 11:34 被阅读0次

延迟加载:
obj.offsetTop < 可视区高度 + 滚动距离;
obj.offsetTop < document.documentElement.clientHeight +
(document.documentElement.scrollTop || document.body.scrollTop);

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        *{margin:0;padding:0;list-style:none;}
        ul{
            width: 200px;
            border:1px solid #000;
            float:left;
            margin:10px;
        }
        li{
            width: 180px;
            height: 200px;
            background: red;
            margin:10px;
        }
    </style>
    <script>
        function rnd(n,m){return parseInt(Math.random()*(m-n)) + n;}
        window.onload = function(){
            var aUl = document.getElementsByTagName('ul');
            function createLI(){
                var oLi = document.createElement('li');
                oLi.style.height = rnd(100,500) + 'px';
                oLi.style.background = 'rgb('+rnd(0,256)+','+rnd(0,256)+','+rnd(0,256)+')';
                return oLi;
            }
            function createLI20(){
                for(var i = 0; i < 20; i++){
                    var oLi = createLI();
                    var arrUl = [];
                    for(var j = 0; j<aUl.length; j++){
                        arrUl.push(aUl[j]);
                    }
                    arrUl.sort(function(n1,n2){
                        return n1.offsetHeight - n2.offsetHeight;
                    });
                    arrUl[0].appendChild(oLi)
                }
            }
            createLI20();
            window.onscroll = function(){
                var clientH = document.documentElement.clientHeight;
                var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
                var clientBottom = clientH + scrollTop;
                //页面内容高度
                var pageHeight = document.documentElement.scrollHeight;
                document.title = pageHeight + ',' + clientBottom;
                if(pageHeight <= clientBottom){
                    // alert(pageHeight + ',' + clientBottom);
                    createLI20();
                } 
            };
        };
    </script>
</head>
<body>
      <ul></ul>
      <ul></ul>
      <ul></ul>
</body>
</html>

预加载-图片:
自己偷偷地加载
Image对象:
//创建一个新的Image对象
var img = new Image();
img.src img....

var img = new Image();
        img.src = 'img/bbb1.jpg'; 
        img.onload = function(){
            alert('加载完成!');
        }; 
        img.onerror = function(){
            alert('失败了!');
        };

相关文章

  • 延迟加载和预加载实现

    延迟加载:obj.offsetTop < 可视区高度 + 滚动距离;obj.offsetTop < documen...

  • JS

    JS 懒加载,预加载 概念:懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片。预加...

  • web优化之懒加载和预加载

    懒加载和预加载是常用的web优化的手段。所以我们首先应该明白什么是懒加载和预加载。懒加载:懒加载也加延迟加载,延迟...

  • 图片懒加载

    懒加载与预加载的基本概念。 懒加载也叫延迟加载:JS图片延迟加载 延迟加载图片或符合某些条件时才加载某些图片。 预...

  • 懒加载和预加载

    1)概念: 懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片。预加载:提前加载图片...

  • js中的预加载与懒加载(延迟加载)

    js加载分两种:预加载和延迟加载 预加载 增强用户的体验,但会加载服务器的负担,一般会使用多种CSS(backgr...

  • javascript图片懒加载与预加载的分析

    懒加载与预加载的基本概念。 懒加载也叫延迟加载:前一篇文章有介绍:JS图片延迟加载 延迟加载图片或符合某些条件时才...

  • JavaScript--预加载与延迟加载

    JavaScript--预加载与延迟加载 1. 预加载:就是页面打开,图片什么的都加载好了(优先显示图片) 2. ...

  • 2018-07-17 懒加载和预加载

    懒加载也就是延迟加载。懒加载的核心的思想是延迟加载,需使用到的时候才进行加载,不使用的时候是不会加载的 预加载提前...

  • 图片延迟加载3种实现方式

    定义:延迟加载也称为惰性加载,即在长网页中延迟加载图像。用户滚动到它们之前,视口外的图像不会加载。这与图像预加载相...

网友评论

      本文标题:延迟加载和预加载实现

      本文链接:https://www.haomeiwen.com/subject/zzbyittx.html