今天要给大家带来一款基于jquery带百分比的响应式进度加载条。这款加载条非常漂亮,而且带有进度的百度比,且在不同的百分比用的是不同的颜色。而且这款加载条采用了响应式设计,在不同的分辨率的显示器下完美支持。一起看下效果图吧。

在线预览   源码下载

实现的代码。

html代码:

  1. <h1>
  2. Battle.net <b>style progress bar</b></h1>
  3. <div class="progress">
  4. <b class="progress__bar"><span class="progress__text">Progress: <em>0%</em> </span>
  5. </b>
  6. </div>

css代码:

  1. .progress {
  2. font-size: 1.2em;
  3. height: 20px;
  4. background: rgba(255, 255, 255, 0.05);
  5. border-radius: 2px;
  6. border: 1px solid rgba(255, 255, 255, 0.2);
  7. }
  8. .progress--active .progress__bar {
  9. opacity:;
  10. }
  11. .progress__text {
  12. width: 20em;
  13. padding: 0 0.9em;
  14. position: absolute;
  15. }
  16. .progress__text em {
  17. font-style: normal;
  18. }
  19. .progress__bar {
  20. color: white;
  21. font-size: 12px;
  22. font-weight: normal;
  23. text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
  24. line-height: 19px;
  25. display: block;
  26. position: relative;
  27. top: -1px;
  28. left: -1px;
  29. width: 0%;
  30. height: 100%;
  31. opacity:;
  32. border: 1px solid;
  33. border-radius: 2px 0 0 2px;
  34. background-size: 100px 30px, 130px 30px, 130px 30px;
  35. background-position: -20% center, right center, left center;
  36. background-repeat: no-repeat, no-repeat, no-repeat;
  37. -webkit-transition: opacity 0.2s ease, width 0.8s ease-out, background-color 1s ease, border-color 0.3s ease, box-shadow 1s ease;
  38. transition: opacity 0.2s ease, width 0.8s ease-out, background-color 1s ease, border-color 0.3s ease, box-shadow 1s ease;
  39. -webkit-animation: pulse 2s ease-out infinite;
  40. animation: pulse 2s ease-out infinite;
  41. background-color: rgba(201, 4, 20, 0.95);
  42. background-image: -webkit-linear-gradient(0deg, rgba(226, 4, 22, 0) 10%, rgba(250, 6, 26, 0.8) 30%, #fb1f31 70%, rgba(250, 6, 26, 0.8) 80%, rgba(226, 4, 22, 0) 90%), -webkit-linear-gradient(left, rgba(251, 31, 49, 0) 0%, #fb1f31 100%), -webkit-linear-gradient(right, rgba(251, 31, 49, 0) 0%, #fb1f31 100%);
  43. background-image: linear-gradient(90deg, rgba(226, 4, 22, 0) 10%, rgba(250, 6, 26, 0.8) 30%, #fb1f31 70%, rgba(250, 6, 26, 0.8) 80%, rgba(226, 4, 22, 0) 90%), linear-gradient(to right, rgba(251, 31, 49, 0) 0%, #fb1f31 100%), linear-gradient(to left, rgba(251, 31, 49, 0) 0%, #fb1f31 100%);
  44. border-color: #fb3848;
  45. box-shadow: 0 0 0.6em #fa061a inset, 0 0 0.4em #e20416 inset, 0 0 0.5em rgba(201, 4, 20, 0.5), 0 0 0.1em rgba(254, 206, 210, 0.5);
  46. }
  47. .progress__bar--orange {
  48. background-color: rgba(201, 47, 0, 0.95);
  49. background-image: -webkit-linear-gradient(0deg, rgba(227, 53, 0, 0) 10%, rgba(252, 59, 0, 0.8) 30%, #ff4d17 70%, rgba(252, 59, 0, 0.8) 80%, rgba(227, 53, 0, 0) 90%), -webkit-linear-gradient(left, rgba(255, 77, 23, 0) 0%, #ff4d17 100%), -webkit-linear-gradient(right, rgba(255, 77, 23, 0) 0%, #ff4d17 100%);
  50. background-image: linear-gradient(90deg, rgba(227, 53, 0, 0) 10%, rgba(252, 59, 0, 0.8) 30%, #ff4d17 70%, rgba(252, 59, 0, 0.8) 80%, rgba(227, 53, 0, 0) 90%), linear-gradient(to right, rgba(255, 77, 23, 0) 0%, #ff4d17 100%), linear-gradient(to left, rgba(255, 77, 23, 0) 0%, #ff4d17 100%);
  51. border-color: #ff6030;
  52. box-shadow: 0 0 0.6em #fc3b00 inset, 0 0 0.4em #e33500 inset, 0 0 0.5em rgba(201, 47, 0, 0.5), 0 0 0.1em rgba(255, 214, 201, 0.5);
  53. }
  54. .progress__bar--yellow {
  55. background-color: rgba(232, 158, 0, 0.95);
  56. background-image: -webkit-linear-gradient(0deg, rgba(255, 174, 2, 0) 10%, rgba(255, 183, 28, 0.8) 30%, #ffbf36 70%, rgba(255, 183, 28, 0.8) 80%, rgba(255, 174, 2, 0) 90%), -webkit-linear-gradient(left, rgba(255, 191, 54, 0) 0%, #ffbf36 100%), -webkit-linear-gradient(right, rgba(255, 191, 54, 0) 0%, #ffbf36 100%);
  57. background-image: linear-gradient(90deg, rgba(255, 174, 2, 0) 10%, rgba(255, 183, 28, 0.8) 30%, #ffbf36 70%, rgba(255, 183, 28, 0.8) 80%, rgba(255, 174, 2, 0) 90%), linear-gradient(to right, rgba(255, 191, 54, 0) 0%, #ffbf36 100%), linear-gradient(to left, rgba(255, 191, 54, 0) 0%, #ffbf36 100%);
  58. border-color: #ffc74f;
  59. box-shadow: 0 0 0.6em #ffb71c inset, 0 0 0.4em #ffae02 inset, 0 0 0.5em rgba(232, 158, 0, 0.5), 0 0 0.1em rgba(255, 248, 232, 0.5);
  60. }
  61. .progress__bar--green {
  62. background-color: rgba(0, 178, 23, 0.95);
  63. background-image: -webkit-linear-gradient(0deg, rgba(0, 203, 26, 0) 10%, rgba(0, 229, 30, 0.8) 30%, #00fe21 70%, rgba(0, 229, 30, 0.8) 80%, rgba(0, 203, 26, 0) 90%), -webkit-linear-gradient(left, rgba(0, 254, 33, 0) 0%, #00fe21 100%), -webkit-linear-gradient(right, rgba(0, 254, 33, 0) 0%, #00fe21 100%);
  64. background-image: linear-gradient(90deg, rgba(0, 203, 26, 0) 10%, rgba(0, 229, 30, 0.8) 30%, #00fe21 70%, rgba(0, 229, 30, 0.8) 80%, rgba(0, 203, 26, 0) 90%), linear-gradient(to right, rgba(0, 254, 33, 0) 0%, #00fe21 100%), linear-gradient(to left, rgba(0, 254, 33, 0) 0%, #00fe21 100%);
  65. border-color: #19ff37;
  66. box-shadow: 0 0 0.6em #00e51e inset, 0 0 0.4em #00cb1a inset, 0 0 0.5em rgba(0, 178, 23, 0.5), 0 0 0.1em rgba(178, 255, 188, 0.5);
  67. }
  68. .progress__bar--blue {
  69. background-color: rgba(18, 135, 204, 0.95);
  70. background-image: -webkit-linear-gradient(0deg, rgba(20, 151, 227, 0) 10%, rgba(37, 162, 236, 0.8) 30%, #3dacee 70%, rgba(37, 162, 236, 0.8) 80%, rgba(20, 151, 227, 0) 90%), -webkit-linear-gradient(left, rgba(61, 172, 238, 0) 0%, #3dacee 100%), -webkit-linear-gradient(right, rgba(61, 172, 238, 0) 0%, #3dacee 100%);
  71. background-image: linear-gradient(90deg, rgba(20, 151, 227, 0) 10%, rgba(37, 162, 236, 0.8) 30%, #3dacee 70%, rgba(37, 162, 236, 0.8) 80%, rgba(20, 151, 227, 0) 90%), linear-gradient(to right, rgba(61, 172, 238, 0) 0%, #3dacee 100%), linear-gradient(to left, rgba(61, 172, 238, 0) 0%, #3dacee 100%);
  72. border-color: #54b6f0;
  73. box-shadow: 0 0 0.6em #25a2ec inset, 0 0 0.4em #1497e3 inset, 0 0 0.5em rgba(18, 135, 204, 0.5), 0 0 0.1em rgba(225, 242, 252, 0.5);
  74. }
  75. .progress__bar:before, .progress__bar:after {
  76. content: "";
  77. position: absolute;
  78. right: -1px;
  79. top: -10px;
  80. width: 1px;
  81. height: 40px;
  82. }
  83. .progress__bar:before {
  84. width: 7px;
  85. right: -4px;
  86. background: -webkit-radial-gradient(center, ellipse, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 75%);
  87. background: radial-gradient(ellipse at center, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 75%);
  88. }
  89. .progress__bar:after {
  90. background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 25%, rgba(255, 255, 255, 0.3) 75%, rgba(255, 255, 255, 0) 100%);
  91. background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 25%, rgba(255, 255, 255, 0.3) 75%, rgba(255, 255, 255, 0) 100%);
  92. }
  93. .progress--complete .progress__bar {
  94. -webkit-animation: none;
  95. animation: none;
  96. border-radius: 2px;
  97. }
  98. .progress--complete .progress__bar:after, .progress--complete .progress__bar:before {
  99. opacity:;
  100. }
  101.  
  102. @-webkit-keyframes pulse {
  103. 0% {
  104. background-position: -50% center, right center, left center;
  105. }
  106. 100% {
  107. background-position: 150% center, right center, left center;
  108. }
  109. }
  110.  
  111. @keyframes pulse {
  112. 0% {
  113. background-position: -50% center, right center, left center;
  114. }
  115. 100% {
  116. background-position: 150% center, right center, left center;
  117. }
  118. }
  119. body, html {
  120. color: white;
  121. padding: 20px 50px;
  122. background: #131c23;
  123. font-family: Roboto;
  124. }
  125.  
  126. h1 {
  127. font-weight:;
  128. line-height: 1em;
  129. margin: 0.5em 0;
  130. }
  131.  
  132. h1 b {
  133. font-weight:;
  134. }

js代码:

  1. var $progress = $(".progress"),
  2. $bar = $(".progress__bar"),
  3. $text = $(".progress__text"),
  4. percent = 0,
  5. update,
  6. resetColors,
  7. speed = 200,
  8. orange = 30,
  9. yellow = 55,
  10. green = 85,
  11. timer;
  12.  
  13. resetColors = function () {
  14.  
  15. $bar
  16. .removeClass("progress__bar--green")
  17. .removeClass("progress__bar--yellow")
  18. .removeClass("progress__bar--orange")
  19. .removeClass("progress__bar--blue");
  20.  
  21. $progress
  22. .removeClass("progress--complete");
  23.  
  24. };
  25.  
  26. update = function () {
  27.  
  28. timer = setTimeout(function () {
  29.  
  30. percent += Math.random() * 1.8;
  31. percent = parseFloat(percent.toFixed(1));
  32.  
  33. $text.find("em").text(percent + "%");
  34.  
  35. if (percent >= 100) {
  36.  
  37. percent = 100;
  38. $progress.addClass("progress--complete");
  39. $bar.addClass("progress__bar--blue");
  40. $text.find("em").text("Complete");
  41.  
  42. } else {
  43.  
  44. if (percent >= green) {
  45. $bar.addClass("progress__bar--green");
  46. }
  47.  
  48. else if (percent >= yellow) {
  49. $bar.addClass("progress__bar--yellow");
  50. }
  51.  
  52. else if (percent >= orange) {
  53. $bar.addClass("progress__bar--orange");
  54. }
  55.  
  56. speed = Math.floor(Math.random() * 900);
  57. update();
  58.  
  59. }
  60.  
  61. $bar.css({ width: percent + "%" });
  62.  
  63. }, speed);
  64.  
  65. };
  66.  
  67. setTimeout(function () {
  68.  
  69. $progress.addClass("progress--active");
  70. update();
  71.  
  72. }, 1000);
  73.  
  74. $(document).on("click", function (e) {
  75.  
  76. percent = 0;
  77. clearTimeout(timer);
  78. resetColors();
  79. update();
  80.  
  81. }); //@ sourceURL=pen.js

注:本文爱编程原创文章,转载请注明原文地址:http://www.w2bc.com/Article/7781

一款基于jquery带百分比的响应式进度加载条的更多相关文章

  1. 一款基于jquery和css3的响应式二级导航菜单

    今天给大家分享一款基于jquery和css3的响应式二级导航菜单,这款导航是传统的基于顶部,鼠标经过的时候显示二级导航,还采用了当前流行的响应式设计.效果图如下: 在线预览   源码下载 实现的代码. ...

  2. 一款由jquery实现的超炫的页面加载特效

    今天为大家带来一款由jquery实现的超炫的页面加载特效.连续的几个页面分开特效.最后由三维的线条由远至近消失,然后由近至远出现.效果超级梦炫.一起看下效果图: 在线预览   源码下载 实现的代码. ...

  3. 一款基于jQuery带事件记录的日历插件

    之前我们也已经分享过不少jQuery日历插件,有些应用了CSS3的特性,外观就特别漂亮.今天要分享的这款jQuery日历插件不仅有着绚丽的外观,而且带有日期事件记录功能,点击日期即可展开事件记录窗口, ...

  4. 一款纯css3实现的条纹加载条

    之前为大家带来了很多加载动画. 基于prefixfree.js的进度加载条 ,基于jquery带百分比的响应式进度加载条.今天给大家分享一款纯css3实现的条纹加载条.带有响应式的效果.效果图如下 : ...

  5. 基于jQuery带备忘录功能的日期选择器

    今天给大家分享一款基于jQuery带备忘录功能的日期选择器.这款日期控制带有备记忘录功能.有备忘录的日期有一个圆圈,单击圆圈显示备忘录.该实例适用浏览器:360.FireFox.Chrome.Safa ...

  6. 基于jQuery带标题的图片3D切换焦点图

    今天给大家分享一款基于jQuery带标题的图片3D切换焦点图.这款焦点图适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲游.搜狗.世界之窗. 实现的代码. htm ...

  7. 一款基于jQuery外观优雅带遮罩弹出层对话框

    今天我们要来分享一款基于jQuery的弹出层对话框插件,该插件包含多种对话框类型,比如提示框.确认框等.更为实用的是,这款jQuery对话框中的按钮事件也可以被我们所捕获,从而相应对话框按钮的各种事件 ...

  8. 一款基于jQuery的带Tooltip表单验证的注册表单

    今天给大家分享一款基于jQuery的注册表单,这款注册表单的特点是确认提交注册信息时,表单会自动验证所填写的信息,如果信息填写有误,即会在相应的字段内以Tooltip提示框的形式显示错误信息.这款jQ ...

  9. 10款基于jquery的web前端动画特效

    1.jQuery横向手风琴图片切换动画 之前我们为大家分享过很多款基于jQuery和CSS3的手风琴菜单和手风琴焦点图插件,比如CSS3响应式垂直手风琴菜单和jQuery横向手风琴图片展示插件.今天要 ...

随机推荐

  1. docker登录没有配置https的harbor镜像仓库

    已经搭建harbor 仓库 ,域名  172.16.1.99 出现问题: 客户端尝试登录 仓库 [root@localhost docker]# docker login 172.16.1.99:80 ...

  2. PHP-PHP.INI常用配置详解

    variables_order: 假如为'GPCS'表示系统在定义PHP预定义变量时的顺序是GET,POST,COOKIES,SERVER, 此时$_ENV为空数组, 只要把'E'添加到'GPCS'后 ...

  3. MySQL-关于并发下的mysql_insert_id()

    我们在写数据库程序的时候, 经常会需要获取某个表中的最大序号数, 或者刚插入的数据的ID值, 一般情况下获取刚插入的数据的id, 使用select max(id) from table 是可以的, 但 ...

  4. js setAttribute removeAttribute

    <input type="button" value="生效" style="font-size:111px"/> <sc ...

  5. HDUOJ--------(1198)Farm Irrigation

    Farm Irrigation Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  6. SQL语句面试题

    一条SQL查询,一个表中按日期的累加数据如表: tmp_pay_amount pay_time amount 2013-11-1 10 2013-11-2 5 2013-11-3 4 2013-11- ...

  7. windows添加开机启动项

    http://www.cnblogs.com/jokey/archive/2010/06/17/1759370.html添加开机启动项(通过注册表) 例子:增加QQ开机启动项 第一步:找到注册表的启动 ...

  8. MyEclipse和Microsoft Visual Studio常用快捷键

    MyEclipse       Visual Studio            NOTEF5            F11                 单步执行 F6            F1 ...

  9. pythonl练习笔记——PythonNet 套接字socket

    1 套接字socket 1.1 套接字概述 套接字,一种网络通讯工具:用于进行网络间的通信,是一种特殊文件类型, 套接字,是一个通信链的句柄,用于描述IP地址和端口,实现向网络发出请求或应答网络请求. ...

  10. PLSQL_统计信息系列01_统计信息的概念和重要性

    2014-12-18 Created By BaoXinjian