bootstrap与jQuery结合的动态进度条
此款进度条实现的功能:
1.利用了bootstrap的进度条组件。
a.在最外层的<div>中加入class .progress,在里层<div>加入class .progress-bar从而实现基本的进度条。
b.在外层<div>中加入class .progress-striped实现条纹进度条。
c.在内层<div>加入class .progress-bar-danger/warning/info/success 从而实现红色、黄色、蓝色、绿色
d.在外层<div>中加入class .active 实现动画效果
2.利用jQuery对进度条进度进行控制。
0-30时显示红色,30-60显示黄色,60-90显示绿色,90-100显示绿色
实现进度条暂停、停止、重新开始、继续功能
具体代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>...</title> <!--在IE浏览器中运行最新的渲染模式--> <meta http-equiv="X-UA-Compatible" content="IE-Edge"> <!--初始化移动浏览器显示--> <meta name="viewport" content="width-device-width,inital-scale=1"> <link href="http://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet"> <link rel="stylesheet" type="text/css" href="index.css"> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script> <script src="http://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ var value = 0; var time = 50; //进度条复位函数 function reset( ) { value = 0 $("#prog").removeClass("progress-bar-success").css("width","0%").text("等待启动"); //setTimeout(increment,5000); } //百分数增加,0-30时为红色,30-60为黄色,60-90为蓝色,>90为绿色 function increment( ) { value += 1; $("#prog").css("width",value + "%").text(value + "%"); if (value>=0 && value<=30) { $("#prog").addClass("progress-bar-danger"); } else if (value>=30 && value <=60) { $("#prog").removeClass("progress-bar-danger"); $("#prog").addClass("progress-bar-warning"); } else if (value>=60 && value <=90) { $("#prog").removeClass("progress-bar-warning"); $("#prog").addClass("progress-bar-info"); } else if(value >= 90 && value<100) { $("#prog").removeClass("progress-bar-info"); $("#prog").addClass("progress-bar-success"); } else{ setTimeout(reset,3000); return; } st = setTimeout(increment,time); } increment(); //进度条停止与重新开始 $("#stop").click(function () { if ("stop" == $("#stop").val()) { //$("#prog").stop(); clearTimeout(st); $("#prog").css("width","0%").text("等待启动"); $("#stop").val("start").text("重新开始"); } else if ("start" == $("#stop").val()) { increment(); $("#stop").val("stop").text("停止"); } }); //进度条暂停与继续 $("#pause").click(function() { if ("pause" == $("#pause").val()) { //$("#prog").stop(); clearTimeout(st); $("#pause").val("goon").text("继续"); } else if ("goon" == $("#pause").val()) { increment(); $("#pause").val("stop").text("暂停"); } }); }); </script> </head> <body> <div class="progress progress-striped active"> <div id="prog" class="progress-bar" role="progressbar" aria-valuenow="" aria-valuemin="0" aria-valuemax="100" style="width:0%;"> <span id="proglabel">正在启动,请稍后......</span> </div> </div> <div class="form-group"> <div class="col-sm-offset-4 col-sm-6"> <button id="pause" class="btn btn-primary" value="pause">暂停</button> <button id="stop" class="btn btn-primary" value="stop">停止</button> <!--<button id="goon" class="btn btn-primary">继续<button>--> </div> </div> </body> </html> |