进度条的多种写法

1. animation;

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <style>
    #box {
        width: 600px;
        height: 30px;
        background-color: #ccc;
    }

    #move {
        width: 100%;
        height: 100%;
        background-color: #f00;
        animation: name 5s linear paused;
    }

    @keyframes name {
        0% {
            width: 0%;
        }
        100% {
            width: 100%;
        }
    }
    </style>
</head>

<body>
    <div id="box">
        <div id="move"></div>
    </div>
    <button onclick="change(this)">开始</button>
    <script>
    //获取元素
    var box = document.getElementById("box");
    var move = document.getElementById("move");
    var btn = document.getElementsByTagName("button")[0];
    //开关控制
    function change(btn) {
        if (btn.innerHTML == ‘开始‘) {
            btn.innerHTML = ‘暂停‘;
            move.style.animationPlayState = ‘running‘;
        } else {
            btn.innerHTML = ‘开始‘;
            move.style.animationPlayState = ‘paused‘;

        }
    }
    </script>
</body>

</html>

2.setInterval();

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <style>
    #box {
        width: 500px;
        height: 30px;
        background-color: #ccc;
    }

    #move {
        width: 0%;
        height: 100%;
        background-color: #f00;
    }
    </style>
</head>

<body>
    <div id="box">
        <div id="move"></div>
    </div>
    <button onclick="change(this)">开始</button>
    <script>
    var box = document.getElementById("box");
    var move = document.getElementById("move");
    var timer = null;
    var n = 0;

    function change(btn) {
        if (btn.innerHTML == ‘开始‘) {
            btn.innerHTML = ‘暂停‘;
            timer = setInterval(run, 100);
        } else {
            btn.innerHTML = ‘开始‘;
            clearInterval(timer);
        }
    }

    function run() {
        if (n > 100) {
            clearInterval(timer);
            return;
        } //需要先进行判断 否则会出现进度条加载满后 点击开始按钮 单次增加进度条
        console.log(n);
        move.style.width = n + ‘%‘;
        n++;
    }
    </script>
</body>

</html>

3.setTimeout();

 1 <!DOCTYPE html>
 2 <html lang="en">
 3
 4 <head>
 5     <meta charset="utf-8">
 6     <style>
 7     #box {
 8         width: 500px;
 9         height: 30px;
10         background-color: #ccc;
11     }
12
13     #move {
14         width: 0;
15         height: 30px;
16         background-color: #f00;
17     }
18     </style>
19 </head>
20
21 <body>
22     <div id="box">
23         <div id="move"></div>
24     </div>
25     <button onclick="run(this)">开始</button>
26     <script>
27     //获取元素
28     var box = document.getElementById("box");
29     var move = document.getElementById("move");
30     //按钮事件
31     function run(btn) {
32         if (btn.innerHTML == ‘开始‘) {
33             btn.innerHTML = ‘暂停‘;
34             running();
35         } else {
36             btn.innerHTML = ‘开始‘;
37             clearTimeout(timer);
38             return;
39         }
40     }
41     var n = 0;
42     var timer;
43
44     function running() {
45         if (n > 100) {
46             clearTimeout
47             return (timer);
48         }
49         console.log(n);
50         move.style.width = n + ‘%‘;
51         n++;
52         timer = setTimeout(running, 1000);
53     }
54     </script>
55 </body>
56
57 </html>

4.进阶版

 1 <!DOCTYPE html>
 2 <html lang="en">
 3
 4 <head>
 5     <meta charset="utf-8">
 6     <style>
 7     #box {
 8         width: 600px;
 9         height: 25px;
10         background-color: #ccc;
11     }
12
13     #small {
14         width: 0%;
15         height: 25px;
16         background-color: #f00;
17         text-align: center;
18         color: #fff;
19     }
20     </style>
21 </head>
22
23 <body>
24     <div id="box">
25         <div id="small"></div>
26     </div>
27     <script>
28     //获取元素
29     var box = document.getElementById("box");
30     var small = document.getElementById("small");
31
32     var timer = null;
33     timer = setInterval(function() {
34         small.style.width = small.offsetWidth + 10 + ‘px‘;
35         var iWidth = small.offsetWidth / box.offsetWidth * 100;
36         small.innerHTML = Math.round(iWidth) + ‘%‘;
37         if (iWidth == 100) {
38             clearInterval(timer);
39         }
40     }, 100);
41     </script>
42 </body>
43
44 </html>

时间: 2024-10-20 08:58:12

进度条的多种写法的相关文章

&lt;Android&gt;进度条

Android中的进度条有多种:对话框进度条,标题栏进度条和水平进度条 1.对话框进度条 a)         覆盖Activity的onCreateDialog()方法,并在其中创建对话框. b)        调用Activity的showDialog()方法,显示进度条对话框. public class MainActivity extends Activity { private Button myBtn; @Override public void onCreate(Bundle sa

今天看到的关于邮件发送进度条的写法

1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Text; 7 using System.Windows.Forms; 8 using System.Threading; 9 10 namespace ThreadUpdateUI 11 { 12 public

HTML5/CSS3超酷进度条 不同进度多种颜色

下面我们来看看实现这款进度条的过程和源码,代码主要由HTML.CSS以及jQuery组成,实现过程也相对比较简单.HTML代码: <div id="wrapper">     <div class="loader-container">           <div class="meter">0</div>           <span class="runner"&g

Android多种进度条使用详解

在这里,总结一下loading进度条的使用简单总结一下. 一.说起进度条,必须说说条形进度条,经常都会使用到嘛,特别是下载文件进度等等,还有像腾讯QQ安装进度条一样,有个进度总给人良好的用户体验. 先来找图看看,做这个图完成不用图片就可以做到了. 看下xml布局文件,其实就是直接用xml写的在加两个属性设置一下就好了,一个style,另一个是background. <ProgressBarandroid:id=”@+id/pb_progressbar”style=”@style/StylePro

进度条的写法

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Android多种样式的进度条

---- The mark of the immature man is that he wants to die nobly for a causer while the mark of the mature man is that he wants to live humbly for one 1. 水平向右的进度条 1-1 定义显示进度指示的图形 drawable目录下progress_v_01.xml 关于shape使用详情可 查阅 点击打开链接 <?xml version="1.

Android View 之进度条+拖动条+星级评论条....

PS:将来的你会感谢现在奋斗的自己.... 学习内容: 1.进度条 2.拖动条 3.星级评论条 1.进度条...       进图条这东西想必大家是很熟悉的...为了使用户不会觉得应用程序死掉了,因此为之设置一个进度条使应用程序的运行状态更好的反馈给客户...这也就是进度条的作用...因此一般的应用程序都会加入进度条...进度条分为圆形进度条和线性的进度条...目的都是一样的,只是展示的效果是不同的...用代码讲解一下... <LinearLayout xmlns:android="htt

AJAX大文件切割上传以及带进度条。

分块传输的原理就是利用HTML5新增的文件slice截取函数. 代码如下: html: <input id="f" type="file" name="part" onchange="writeFile()"> JS: 核心部分已经加粗显示了,其他部分不用看,因为实现的方式有很多种,不一定要按照我的方式去写,但是核心是不会变的. var writeFile = function(){ var temp = null

Bootstarp学习(十七)进度条

进度条 在网页中,进度条的效果并不少见,比如一个评分系统,比如加载状态等.就如下图所示的一个评分系统,他就是一个简单的进度条效果: 进度条和其他独立组件一样,开发者可以根据自己的需要,选择对应的版本: ? LESS版本:源码文件progress-bars.less ? Sass版本:源码文件_progress-bars.scss ? 编译后版本:bootstrap.css文件第4500行-第4575行 而且Bootstrap框架为大家提供多种样式风格的进度条,供大家使用(见右侧代码编辑器),这一