常用的网页加载进度条

看慕课网的视频,将内容记录下来,便于以后查询。

网页加载进度条的误区:一般进度条都是用定时器制作的,而非根据网页主体内容进行实现,这种定时器形式只能说在表现上实现了加载效果。

比如demo1.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>进度条</title>
  <script src="https://cdn.bootcss.com/jquery/2.2.1/jquery.js"></script>
  <style>
  .loading{
    width: 100%;
    height: 100%;
    position: fixed;
    top:0;
    left:0;
    z-index: 100;
    background: #fff;
  }
  .loading .pic{
    width: 64px;
    height: 64px;
    background:url(img/loading.gif);
    position: absolute;
    top:0;
    bottom:0;
    left: 0;
    right: 0;
    margin:auto;
  }
  </style>
  <script>
  $(function(){
    var loading='<div class="loading"><div class="pic"></div></div>';
    $("body").append(loading);
    setInterval(function(){
      $(".loading").fadeOut();
    },3000);
  })
  </script>
</head>
<body>

<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832842&di=0190ba35a2d5145599a01b8f038c5ea2&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimage%2Fc0%253Dshijue1%252C0%252C0%252C294%252C40%2Fsign%3D6c3f6159e1f81a4c323fe48abf430a2c%2F500fd9f9d72a6059452132372234349b033bbaee.jpg" alt="">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832841&di=f2d58906215d2f39b734ced294f4d1d4&imgtype=0&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201408%2F30%2F20140830185456_Eijik.jpeg" alt="">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832840&di=42c43bbbf35dc54e9fabec17e92fd890&imgtype=0&src=http%3A%2F%2Fimg17.3lian.com%2Fd%2Ffile%2F201702%2F22%2F1005a2e0825ffe290b3f697404ee8038.jpg" alt="">
</body>
</html>
其中gif图是从网站:https://preloaders.net/ 下载的。
通过加载状态事件制作进度条

demo2.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>进度条</title>
  <script src="https://cdn.bootcss.com/jquery/2.2.1/jquery.js"></script>
  <style>
  .loading{
    width: 100%;
    height: 100%;
    position: fixed;
    top:0;
    left:0;
    z-index: 100;
    background: #fff;
  }
  .loading .pic{
    width: 64px;
    height: 64px;
    background:url(img/loading.gif);
    position: absolute;
    top:0;
    bottom:0;
    left: 0;
    right: 0;
    margin:auto;
  }
  </style>
  <script>
  /*
  通过加载状态事件制作进度条
  document.onreadystatechange 页面加载状态改变时的事件
  document.readyState 返回当前文档的状态
  1.uninitialized -还未开始载入
  2.loading -载入中
  3.Interactive -已加载,文档与用户可以开始交互
  4.complete -载入完成
  */
  document.onreadystatechange=function(){
    if(document.readyState=="complete"){
      $("loading").fadeOut();
    }
  }
  </script>
</head>
<body>
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1502016414080&di=9236d306380e2994d5c860d1325077ff&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2F574e9258d109b3deb13fbe4cc6bf6c81800a4c15.jpg" alt="">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1502016414080&di=4cb85c2aad7a50002762eb5f7c1b7929&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2Fb03533fa828ba61e5e6d4c0d4b34970a304e5915.jpg" alt="">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832842&di=0190ba35a2d5145599a01b8f038c5ea2&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimage%2Fc0%253Dshijue1%252C0%252C0%252C294%252C40%2Fsign%3D6c3f6159e1f81a4c323fe48abf430a2c%2F500fd9f9d72a6059452132372234349b033bbaee.jpg" alt="">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832841&di=f2d58906215d2f39b734ced294f4d1d4&imgtype=0&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201408%2F30%2F20140830185456_Eijik.jpeg" alt="">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832840&di=42c43bbbf35dc54e9fabec17e92fd890&imgtype=0&src=http%3A%2F%2Fimg17.3lian.com%2Fd%2Ffile%2F201702%2F22%2F1005a2e0825ffe290b3f697404ee8038.jpg" alt="">
</body>
</html>
demo3.html

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>定位在顶部的进度条</title>
	<style>
	.loading{
	    width: 100%;
	    height: 100%;
	    position: fixed;
	    top:0;
	    left:0;
	    z-index: 100;
	    background: #fff;
	  }
	  .loading .pic{
	    width: 0%;
	    height: 5px;
	    position: absolute;
	    top:0;
	    left: 0;
	    background: #f33;
	  }
	</style>
	<script src="https://cdn.bootcss.com/jquery/2.2.1/jquery.js"></script>

</head>
<body>
	<div class="loading">
		<div class="pic"></div>
	</div>
	<header>
		<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1502016414080&di=9236d306380e2994d5c860d1325077ff&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2F574e9258d109b3deb13fbe4cc6bf6c81800a4c15.jpg" alt="">
		<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1502016414080&di=4cb85c2aad7a50002762eb5f7c1b7929&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2Fb03533fa828ba61e5e6d4c0d4b34970a304e5915.jpg" alt="">
	</header>
	<script>
		$(".loading .pic").animate({width:"10%"},100);
	</script>
	<section class="banner">
		<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832842&di=0190ba35a2d5145599a01b8f038c5ea2&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimage%2Fc0%253Dshijue1%252C0%252C0%252C294%252C40%2Fsign%3D6c3f6159e1f81a4c323fe48abf430a2c%2F500fd9f9d72a6059452132372234349b033bbaee.jpg" alt="">
		<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832841&di=f2d58906215d2f39b734ced294f4d1d4&imgtype=0&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201408%2F30%2F20140830185456_Eijik.jpeg" alt="">
	</section>
	<script>
		$(".loading .pic").animate({width:"30%"},100);
	</script>
	<section class="about">
		<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832842&di=0190ba35a2d5145599a01b8f038c5ea2&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimage%2Fc0%253Dshijue1%252C0%252C0%252C294%252C40%2Fsign%3D6c3f6159e1f81a4c323fe48abf430a2c%2F500fd9f9d72a6059452132372234349b033bbaee.jpg" alt="">
		<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832841&di=f2d58906215d2f39b734ced294f4d1d4&imgtype=0&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201408%2F30%2F20140830185456_Eijik.jpeg" alt="">
	</section>
	<script>
		$(".loading .pic").animate({width:"50%"},100);
	</script>
	<section class="pro"></section>
	<script>
		$(".loading .pic").animate({width:"80%"},100);
	</script>
	<section class="news"></section>
	<script>
		$(".loading .pic").animate({width:"95%"},100);
	</script>
	<footer></footer>
	<script>
		$(".loading .pic").animate({width:"100%"},100,function(){
			$(".loading").fadeOut();
		});
	</script>
</body>
</html>

demo4.html

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>实时获取加载数据的进度条</title>
  <style>
  .loading{
    width: 100%;
    height: 100%;
    position: fixed;
    top:0;
    left:0;
    z-index: 100;
    background: #fff;
  }
  .loading .pic{
    width: 100px;
    height: 100px;
    position: absolute;
    top:0;
    bottom:0;
    left: 0;
    right: 0;
    margin:auto;
    font-size: 28px;
    text-align: center;
    line-height: 100px;
  }
  .loading .pic span{
    display: block;
    width: 80px;
    height: 80px;
    position: absolute;top:10px;left: 10px;
    border-radius: 50%;
    box-shadow: 0 3px 0 #666;
    -webkit-animation:rotate 1s infinite linear;
    animation:rotate 1s infinite linear;
  }
  @-webkit-keyframes rotate{
    0%{-webkit-transform:rotate(0deg);}
    100%{transform:rotate(360deg);}
  }
  @keyframes rotate{
    0%{transform:rotate(0deg);}
    100%{transform:rotate(360deg);}
  }
  </style>
  <script src="https://cdn.bootcss.com/jquery/2.2.1/jquery.js"></script>
  <script>
  $(function(){
    var img=$("img");
    var num=0;
    img.each(function(i){
      oImg.οnlοad=null;//消除对于gif图的一直请求
      var oImg=new Image();
      oImg.οnlοad=function(){
        num++;
        $(".loading .pic b").html(parseInt(num/$("img").size()*100)+"%");
        if(num>=i){
          $(".loading").fadeOut();
        }
      }
      oImg.src=img[i].src;
    });
  });
  </script>
</head>
<body>
<div class="loading">
  <div class="pic">
    <span></span> 
    <b>0%</b>
  </div>
</div>
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1502016414080&di=9236d306380e2994d5c860d1325077ff&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2F574e9258d109b3deb13fbe4cc6bf6c81800a4c15.jpg" alt="">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1502016414080&di=4cb85c2aad7a50002762eb5f7c1b7929&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2Fb03533fa828ba61e5e6d4c0d4b34970a304e5915.jpg" alt="">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832842&di=0190ba35a2d5145599a01b8f038c5ea2&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimage%2Fc0%253Dshijue1%252C0%252C0%252C294%252C40%2Fsign%3D6c3f6159e1f81a4c323fe48abf430a2c%2F500fd9f9d72a6059452132372234349b033bbaee.jpg" alt="">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832841&di=f2d58906215d2f39b734ced294f4d1d4&imgtype=0&src=http%3A%2F%2Fimg4.duitang.com%2Fuploads%2Fitem%2F201408%2F30%2F20140830185456_Eijik.jpeg" alt="">
<img src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1501999832840&di=42c43bbbf35dc54e9fabec17e92fd890&imgtype=0&src=http%3A%2F%2Fimg17.3lian.com%2Fd%2Ffile%2F201702%2F22%2F1005a2e0825ffe290b3f697404ee8038.jpg" alt="">
</body>
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值