bootstrap实现动态进度条效果


Posted in Javascript onMarch 08, 2017

Bootstrap的动态进度条:

html: 创建一个modal   这里使用fade先将modal隐藏起来,然后modal里面嵌入progress 代码很简单

<div class="modal fade" data-backdrop="static" tabindex="-1" id="progressbar"> 
                      <!--窗口声明:--> 
                      <div class="modal-dialog modal-lg"> 
                        <!-- 内容声明 --> 
                        <div class="modal-content"> 
                          <!-- 主体 --> 
                          <div class="modal-body"> 
                            <div class="progress progress-striped active"> 
                              <div id="test" class="progress-bar progress-bar-success" role="progressbar" style="width: 10%;"> 
                                保存中:{{length}}% 
                              </div> 
                            </div> 
                          </div> 
                        </div> 
                      </div> 
                    </div>

PS:关于模态框:如果你想实现点击空白处不关闭模态框,可以在<div class="modal fade" data-backdrop="static">这里初始化modal的参数,或者在js里面通过

$('.modal').modal({backdrop: 'static', keyboard: false});设置并打开,当然,哪种方便就用哪种

js:

//进度条的控制 
function startProgerss(){ 
  var trytmp=0; 
  var wait=false; 
  run(); 
  function run(){ 
    if(!wait){ 
      vue.length+=(Math.random()*10).ceil(); 
    } 
    if(vue.length<=98){ 
      if(vue.length>80 && textupover && imgupover){ 
        vue.length=100; 
         $("div[role='progressbar']").css("width","100%"); 
        //短暂延迟后刷新页面,貌似""作用是刷新本页面 
        refreshtohome(1000, ""); 
      }else{ 
        $("div[role='progressbar']").css("width",vue.length+"%"); 
        var timer=setTimeout(run,100); 
      } 
    }else{//等待时间过长,可能出现了其他错误 
      wait=true;//进入等待状态 
      vue.length=99; 
      $("div[role='progressbar']").css("width","99%"); 
      //查看服务器的响应 
      if(textupover && imgupover){ 
        vue.length=100; 
         $("div[role='progressbar']").css("width","100%"); 
        //短暂延迟后刷新页面,貌似""作用是刷新本页面 
        refreshtohome(1000, ""); 
      } 
      if(++trytmp<10){//超时等待(大约10s) 
        var timer=setTimeout(run,1000); 
      }else{ 
        alert("服务器响应失败!"); 
        //隐藏进度条提示框 
        $('#progressbar').modal('hide'); 
        //重置进度条的长度 
        vue.length=10; 
      } 
    } 
  } 
}

解释:重点是要明白进度条的意义:给用户一个读条,让用户看到程序是在进行而不是死机了,这可以加强应用的用户体验效果。

我上面代码是这样设计的:当提交表单,调用js显示模态框(相当于显示进度条),然后js动态改变进度条的样式(长度),自己控制一个可取的范围

当前台接收到后台的响应的时候,让进度条加载到100%,关闭模态框(隐藏进度条),刷新数据。。

关于百分比的显示,我这里使用了Vue.js来代理,js改变vue.length的值,间接改变前台百分比的显示。当然,条条大路通罗马,没有最好的设计,只有更好的思想。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js+CSS 图片等比缩小并垂直居中实现代码
Dec 01 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
Jul 21 Javascript
javascript陷阱 一不小心你就中招了(字符运算)
Nov 10 Javascript
浅谈javascript 函数表达式和函数声明的区别
Jan 05 Javascript
基于JQuery实现分隔条的功能
Jun 17 Javascript
深入理解jquery中extend的实现
Dec 22 Javascript
深入理解js 中async 函数的含义和用法
May 13 Javascript
Vue中的组件及路由使用实例代码详解
May 22 Javascript
如何解决vue在ios微信&quot;复制链接&quot;功能问题
Mar 26 Javascript
简单了解JavaScript作用域
Jul 31 Javascript
react+antd 递归实现树状目录操作
Nov 02 Javascript
详解JavaScript中Arguments对象用途
Aug 30 Javascript
jquery实现超简单的瀑布流布局【推荐】
Mar 08 #Javascript
bootstrap表单按回车会自动刷新页面的解决办法
Mar 08 #Javascript
jquery仿苹果的时间/日期选择效果
Mar 08 #Javascript
jQuery插件HighCharts绘制2D带Label的折线图效果示例【附demo源码下载】
Mar 08 #Javascript
js/jq仿window文件夹移动/剪切/复制等操作代码
Mar 08 #Javascript
jquery仿ps颜色拾取功能
Mar 08 #Javascript
关于Javascript中document.cookie的使用
Mar 08 #Javascript
You might like
windows下PHP APACHE MYSQ完整配置
2007/01/02 PHP
php下实现农历日历的代码
2007/03/07 PHP
用PHP实现浏览器点击下载TXT文档的方法详解
2013/06/02 PHP
PHP之短标签开启设置
2013/06/17 PHP
JavaScript数组深拷贝和浅拷贝的两种方法
2014/04/16 Javascript
浅谈node.js中async异步编程
2015/10/22 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
2016/12/01 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
JS+CSS实现滚动数字时钟效果
2017/12/25 Javascript
vue判断input输入内容全是空格的方法
2018/03/02 Javascript
vue 动态生成拓扑图的示例
2021/01/03 Vue.js
Python列表(list)常用操作方法小结
2015/02/02 Python
Python正则表达式匹配HTML页面编码
2015/04/08 Python
举例讲解Python面相对象编程中对象的属性与类的方法
2016/01/19 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
python scp 批量同步文件的实现方法
2019/01/03 Python
python各类经纬度转换的实例代码
2019/08/08 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
Python3爬虫中关于Ajax分析方法的总结
2020/07/10 Python
最新pycharm安装教程
2020/11/18 Python
印尼最大的在线购物网站:MatahariMall.com
2016/08/26 全球购物
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
文科教师毕业的自我评价
2014/01/16 职场文书
幼儿园国庆节活动方案
2014/02/01 职场文书
客户答谢会活动方案
2014/08/31 职场文书
共青团员自我评价范文
2014/09/14 职场文书
作文评语怎么写
2014/12/25 职场文书
药店收银员岗位职责
2015/04/07 职场文书
2015年端午节活动方案
2015/05/05 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
Python jiaba库的使用详解
2021/11/23 Python
Java基础——Map集合
2022/04/01 Java/Android