Js 百分比进度条
【构想】
CSS3 + JS
CSS3控制进度
利用CSS3中的 @keyframes
JS实现百分比
根据CSS来调整,时间
【页面代码】
第一种:
默认直接进入就是下载
CSS代码
- body {
- background-color: #f5f7f9;
- color: #6c6c6c;
- font: 300 1em/1.5em;
- }
- .container {
- left: 50%;
- position: absolute;
- top: 40%;
- transform: translate(-50%, -50%);
- -webkit-transform: translate(-50%, -50%);
- }
- /* PROGRESS */
- .progress {
- background-color: #e5e9eb;
- height: 0.25em;
- position: relative;
- width: 24em;
- }
- #progress-bar {
- animation-duration: 3s;
- animation-name: width;
- background-image: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);
- background-image: -webkit-linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);
- background-size: 24em 0.25em;
- height: 100%;
- position: relative;
- }
- @keyframes width {
- 0%,
- 100% {
- transition-timing-function: cubic-bezier(1, 0, 0.65, 0.85);
- }
- 0% {
- width:;
- }
- 100% {
- width: 100%;
- }
- }
- .container .notice {
- animation: change 5s linear 0s infinite;
- font-size: 15px;
- margin: 10px;
- }
- @keyframes change {
- 0% {
- color: #4cd964;
- }
- 25% {
- color: #5ac8fa;
- }
- 50% {
- color: #007aff;
- }
- 75% {
- color: #5856d6;
- }
- 100% {
- color: #ff2d55;
- }
- }
HTML代码
- <div class="container">
- <div class="notice"id="notice">
- 奴家,正在~客官不要急啦~(づ ̄ 3 ̄)づ
- </div>
- <div class="progress">
- <div id="progress-bar">
- </div>
- </div>
- </div>
JS代码
- window.onload = function() {
- var progressBar = {
- //初始化
- init: function() {
- var oBar = document.getElementById('progress-bar');
- var oNotice = document.getElementById('notice');
- var count = 0;
- //百分比计算,根据css的来
- var timer = setInterval(function() {
- count++;
- oBar.innerHTML = count + '%';
- if (count === 100) {
- oNotice.innerHTML = '客官,奴家好了~(✿◡‿◡)'
- clearInterval(timer);
- }
- }, 30);
- }
- };
- progressBar.init();
- }
第二种:
进入不下载,点击下载开始下载,暂停则暂停,原理控制setInterval和cleanInterval
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8">
- <title>进度条</title>
- <style type="text/css">
- #pro {
- width: 0px;
- height: 20px;
- background-color: #cea;
- text-align: center;
- }
- </style>
- </head>
- <body>
- <button onclick="down()">下载</button>
- <button onclick="stop()">暂停</button>
- <br />
- <div id="pro"></div>
- </body>
- <script>
- var count = 0;
- var tid;
- function Progress() {
- count++;
- if (count == 101) {
- Fn();
- } else {
- var oPro = document.getElementById("pro")
- oPro.innerText = count + "%";
- oPro.style.width = 3 * count + "px";
- }
- }
- function down() {
- oStria = setInterval("Progress()", 100)
- }
- function stop(){
- clearInterval(oStria)
- }
- function Fn() {
- clearInterval(oStria)
- alert("下载完成")
- }
- </script>
- </html>
Js 百分比进度条的更多相关文章
- JS框架_(JQbar.js)柱状图动态百分比进度条特效
百度云盘 传送门 密码:q6rt 柱状图动态百分比进度条效果 <html> <head> <title>jqbar.js柱状图动态百分比进度条特效</titl ...
- css3圆形百分比进度条的实现原理
原文地址:css3圆形百分比进度条的实现原理 今天早上起来在查看jquery插件机制的时候,一不小心点进了css3圆形百分比进度条的相关文章,于是一发不可收拾,开始折腾了... 关于圆形圈的实现,想必 ...
- HTML5圆形百分比进度条插件circleChart
在页面中引入jquery和circleChart.min.js文件. <script src="path/to/jquery.min.js"></script&g ...
- nprogress.js 头部进度条使用方法
nprogress.js 头部进度条 引入CSS\JS <link rel="stylesheet" type="text/css" href=" ...
- BitBlt()函数实现带数字百分比进度条控件、静态文本(STATIC)控件实现的位图进度条、自定义进度条控件实现七彩虹颜色带数字百分比
Windows API BitBlt()函数实现带数字百分比进度条控件. 有两个例子:一用定时器实现,二用多线程实现. 带有详细注解. 此例是本人原创,绝对是网上稀缺资源(本源码用Windows AP ...
- 使用ajax实现简单的带百分比进度条
需求:当进行文件上传保存等操作时,能在页面显示一个带百分比的进度条,给用户一个好的交互体验 实现步骤 JSP页面 1.添加table标签 <table id="load" w ...
- js 实现进度条功能。
/** * 纯js进度条 * Created by kiner on 15/3/22. */ function progress(options){ this.w = (options &&a ...
- js控制进度条到达100%跳转界面一
进度条一般在手机上用到的比较广泛,刚好最近的项目也是一直在做手机站,这个特效是手机端的一个界面,现在我把改成pc端了,进度条的快慢速度和样式可自行调节,改动也是很方便的,不多说,看代码: <st ...
- js实现进度条
不多说,直接上代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
随机推荐
- MySQL(五)汇总和分组数据
一.汇总数据 工作中经常需要汇总数据而不是将它们全部检索出来(实际数据本身:返回实际数据是对时间和处理资源的浪费),这种类型的检索有以下特点: ①确定表中的行数(或者满足某个条件或包含某个特定值的行数 ...
- Recurrent Neural Network[CTC]
0. 背景 1. CTC原理 图 CTC结构图 CTC是看似和HMM有些联系,然后也采用DP来进行求解,将CTC结构图中<RNN输出,CTC层>单独拿出来,得到如下形式: 图 用前向-后向 ...
- java算法----排序----(6)希尔排序(最小增量排序)
package log; public class Test4 { /** * java算法---希尔排序(最小增量排序) * * @param args */ public static void ...
- docker部署rabbitMQ
获取rabbit镜像: docker pull rabbitmq:management 创建并运行容器: docker run -d --hostname my-rabbit --name rabbi ...
- ASP.NET Core使用TopShelf部署Windows服务
asp.net core很大的方便了跨平台的开发者,linux的开发者可以使用apache和nginx来做反向代理,windows上可以用IIS进行反向代理. 反向代理可以提供很多特性,固然很好.但是 ...
- Visual Studio2013安装过程以及单元测试
一.安装环境 操作系统版本:Windows10家庭中文版64位 CPU:i5-4200u 1.60GHz 硬盘内存:750G 二.安装版本 Visual Studio2013 三.安装过程 Visu ...
- opencv学习笔记(五)
线性滤波 方框滤波--boxblur函数 均值滤波(邻域平均滤波)--blur函数 高斯滤波--GaussianBlur函数 中值滤波--medianBlur函数 双边滤波--bilateralFil ...
- PAT 甲级 1045 Favorite Color Stripe
https://pintia.cn/problem-sets/994805342720868352/problems/994805437411475456 Eva is trying to make ...
- MySQL的basedir
C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.7\Data
- jmeter 使用csv文件 注意项
1.首先在jmeter 中导入csv文件时我们程序并不知道csv文件中有多少行 : >1.获取的时候 使用 循环控制器来获取csv文件中的所有数据 : 通过 ${__jexl3("${ ...