纯php加载进度条,HTML5+CSS3加载进度条与下载进度条实现

这次给大家带来HTML5+CSS3加载进度条与下载进度条实现,HTML5+CSS3加载进度条与下载进度条实现的注意事项有哪些,下面就是实战案例,一起来看一下。

效果图:

fe4ad7728628a51c9f8cc2c8d1afd4d2.gif

1、html结构:

0%

简单分析下:

p.loadBar代表整个进度条

p.loadBar p 设置了圆角表框 ,p.loadBar p span 为进度 (动态改变宽度), p.loadBar p span i 为进度填充背景色(即width=100%)

HTML的结构,大家可以自己设计,只要合理,都没有问题~

2、CSS:body

{

font-family: Thoma, Microsoft YaHei, 'Lato', Calibri, Arial, sans-serif;

}

#content

{

margin: 120px auto;

width: 80%;

}

.loadBar

{

width: 600px;

height: 30px;

border: 3px solid #212121;

border-radius: 20px;

position: relative;

}

.loadBar p

{

width: 100%;

height: 100%;

position: absolute;

top: 0;

left: 0;

}

.loadBar p span, .loadBar p i

{

box-shadow: inset 0 -2px 6px rgba(0, 0, 0, .4);

width: 0%;

display: block;

height: 100%;

position: absolute;

top: 0;

left: 0;

border-radius: 20px;

}

.loadBar p i

{

width: 100%;

-webkit-animation: move .8s linear infinite;

background: -webkit-linear-gradient(left top, #7ed047 0%, #7ed047 25%, #4ea018 25%, #4ea018 50%, #7ed047 50%, #7ed047 75%, #4ea018 75%, #4ea018 100%);

background-size: 40px 40px;

}

.loadBar .percentNum

{

position: absolute;

top: 100%;

right: 10%;

padding: 1px 15px;

border-bottom-left-radius: 16px;

border-bottom-right-radius: 16px;

border: 1px solid #222;

background-color: #222;

color: #fff;

}

@-webkit-keyframes move

{

0%

{

background-position: 0 0;

}

100%

{

background-position: 40px 0;

}

}

此时效果为:

b1ada38a212d3de297c7c6a815a4d01d.png

整体布局就是利用position relative和absolute~

比较难的地方就是,渐变条的实现:

我们采用

a、从左上到右下的渐变

b、颜色分别为:0-25% 为#7ed047 , 25%-50% 为#4ea018 , 50%-75%为#7ed047 , 75%-100%为#4ea018

c、背景的大小为40px 40px 这个设置超过高度就行, 越大,条文宽度越宽

分析图:

d9c56df380ff4dcc135b71507ba65b2f.png

设置的原理就是上图了,同时可以背景宽度设置越大,条文宽度越大;

3、设置Js,创建LoadBar对象function LoadingBar(id)

{

this.loadbar = $("#" + id);

this.percentEle = $(".percent", this.loadbar);

this.percentNumEle = $(".percentNum", this.loadbar);

this.max = 100;

this.currentProgress = 0;

}

LoadingBar.prototype = {

constructor: LoadingBar,

setMax: function (maxVal)

{

this.max = maxVal;

},

setProgress: function (val)

{

if (val >= this.max)

{

val = this.max;

}

this.currentProgress = parseInt((val / this.max) * 100) + "%";

this.percentEle.width(this.currentProgress);

this.percentNumEle.text(this.currentProgress);

}

};

我们创建了一个LoadBar对象,同时公开了两个方法,一个设置最大进度,一个设置当前进度;比如下载文件最大进度为文件大小,当前进度为已下载文件大小。

4、测试

最后我们测试下我们的代码:$(function ()

{

var loadbar = new LoadingBar("loadBar01");

var max = 1000;

loadbar.setMax(max);

var i = 0;

var time = setInterval(function ()

{

loadbar.setProgress(i);

if (i == max)

{

clearInterval(time);

return;

}

i += 10;

}, 40);

});

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值