前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >网页|利用progress实现进度条效果

网页|利用progress实现进度条效果

作者头像
算法与编程之美
发布2020-04-22 15:36:40
2K0
发布2020-04-22 15:36:40
举报
文章被收录于专栏:算法与编程之美

1 进度条的运用

在加载网页时,如在打开谷歌、百度时,当网速较低时浏览器地址栏的下方就会出现蓝色的进度条,而不是在地址栏里面出现进度条。通过进度条可以让用户比较准确判断网页加载的进度,决定是否继续加载。但是现在运用最多的应该是文件下载的时候(如视频文件、音频文件等),用来显示下载进度。

2 progress简单介绍

在HTML中,Progress标签是HTML5中新增的标签,是使用来定义运行中的任务进度或进程的,通常和JavaScript一起使用来实现进度条。Progress标签属性为max和value。(max:规定需要完成的值;value:规定进程的当前值)。

3 制作步骤

在利用bootstrap制作的过程中,先设置一个 <div>作为进度槽。然后在设置一个<div>作为进度条。

(1)制作默认的静态进度条,( style="width:30%"; 表示进度条在 30% 的位置)。

<div> <div role="progressbar" aria-valuenow="30" aria-valuemin="0" aria-valuemax="100" style="width: 30%;"> <span>30% </span> </div>

注意:role="progressbar"属性作用:告诉搜索引擎这个div的作用是进度条。aria-valuenow="30"属性作用:当前进度条的进度为30%。aria-valuemin="0"属性作用:进度条的最小值为0%。aria-valuemax="100"属性作用:进度条的最大值为100%。bootstrap里的sr-only全称是 screen reader only,是屏幕阅读器,主要用于增强可访问性。默认的进度条颜色是蓝色,在bootstrap中,还有success(绿色)、info(蓝色)、warning(黄色)、danger(红色)表达不同意义的颜色样式。如下就是默认颜色和success(绿色)效果:

图3.1 效果图

(2)制作条纹的进度条,这里使用progress-striped添加条纹。此外还可以添加active,为进度条添加动画效果。

<h1>条纹进度条:</h1><div class="progress progress-striped" style="width: 400px;"> <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%;"> <span>40%</span> </div></div><h1>动态条纹进度条:</h1><div class="progress progress-striped active" style="width: 400px;"> <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100" style="width: 40%;"> <span>40% </span> </div></div>

效果图:

图3.1 效果图

此外还可以利用HTML+css的形式制作静态进度条,如果需要设置动态的效果只需要添加keyframes设置移动范围,在利用JavaScript就可以了。代码如下:

/*<!--关键html-->*/<h1>进度条</h1><div id="container"> <div id="shuzhi"> <div id="fill"></div> </div></div>/*<!--关键css-->*/@keyframes move { 0%{ width:0; } 60%{ width:60%; }}</style><!--关键js--><script type="text/javascript"> var shuzhi={ init:function(){ var fill=document.getElementById('fill'); var count=0; //设置定位器 var timer=setInterval(function(e){ count++; fill.innerHTML=count+'%'; //清除定位器 if(count===60) clearInterval(timer); },60); }};shuzhi.init();</script>

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 算法与编程之美 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档