今天要给大家带来一款基于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. java Properties的用法

    Properties是一个特殊的Map,因为和IO流牵扯到了一块…… import java.io.BufferedReader;import java.io.File;import java.io. ...

  2. 【redis】常用命令

    三.常用命令    1)连接操作命令    quit:关闭连接(connection)    auth:简单密码认证    help cmd: 查看cmd帮助,例如:help quit         ...

  3. 2016年度GitHub上Stars最多的10个项目

    来源于:https://zhuanlan.zhihu.com/p/24627923 2016年接近尾声,在最近的几篇文章中,会整理总结一些2016年度开源项目.今天整理的是:2016年度GitHub最 ...

  4. java多线程(二)之实现Runnable接口

    一.java多线程方式2: 实现Runnable接口 好处:a. 可以避免由于java单继承带来的局限性. b. 适合多个相同的程序的代码去处理同一个资源的情况, 把线程与程序的代码, 数据有效分离, ...

  5. Microsoft Office2003打开office2007文件的补丁

    Microsoft  office2003打开office2007,不需要安装2007,只需要装一个补丁即可 搜索:office2003打开office2007文件的补丁

  6. 使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL (转)

    在访问现在很火的google plus时,细心的用户也许会发现页面之间的点击是通过ajax异步请求的,同时页面的URL发生了了改变.并且能够很好的支持浏览器的前进和后退.不禁让人想问,是什么有这么强大 ...

  7. Fusion Tables 图层用于呈现 Google Fusion Tables 中包含的数据

    Google Maps API 允许您使用 FusionTablesLayer 对象将 Google Fusion Tables 中包含的数据呈现为地图上的图层.Google Fusion Table ...

  8. 《java设计模式》之责任链模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述责任链(Chain of Responsibility)模式的: 责任链模式是一种对象的行为模式.在责任链模式里,很多对象由每一个对象对其 ...

  9. A class file was not written. The project may be inconsistent, if so try refreshing this project and building it. eclipse提示错误

    感觉很奇怪,查看了一下磁盘,发现workspace所在磁盘已经满了,删除一些文件之后,选择项目->Project->Clean...->选择Clean all projects-&g ...

  10. android 布局权重问题(最近布局经常坑爹)

    android 布局 权重 With layout_weight you can specify a size ratio between multiple views. E.g. you have ...