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代码
Apr 22 Javascript
jQuery使用attr()方法同时设置多个属性值用法实例
Mar 26 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
Feb 16 Javascript
JS中的进制转换以及作用
Jun 26 Javascript
用file标签实现多图文件上传预览
Feb 14 Javascript
Node.js 使用递归实现遍历文件夹中所有文件
Sep 18 Javascript
jquery写出PC端轮播图实例
Jan 26 jQuery
Vue实现用户自定义字段显示数据的方法
Aug 28 Javascript
基于Angularjs-router动态改变Title值的问题
Aug 30 Javascript
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 jQuery
微信小程序 导入图标实现过程详解
Oct 11 Javascript
javascript实现动态时钟的启动和停止
Jul 29 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
用Php实现链结人气统计
2006/10/09 PHP
asp和php下textarea提交大量数据发生丢失的解决方法
2008/01/20 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
2013/05/03 PHP
smarty简单入门实例
2014/11/28 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
WordPress中获取页面链接和标题的相关PHP函数用法解析
2015/12/17 PHP
PHP递归实现层级树状展开
2016/04/01 PHP
php遍历目录下文件并按修改时间排序操作示例
2019/07/12 PHP
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
Angular在一个页面中使用两个ng-app的方法(二)
2017/02/20 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
NodeJS使用七牛云存储上传文件的方法
2017/07/24 NodeJs
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
ES6使用Set数据结构实现数组的交集、并集、差集功能示例
2017/10/31 Javascript
微信小程序开发之map地图组件定位并手动修改位置偏差
2019/08/17 Javascript
vue指令v-html使用过滤器filters功能实例
2019/10/25 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
解决Vue keep-alive 调用 $destory() 页面不再被缓存的情况
2020/10/30 Javascript
使用Python脚本将Bing的每日图片作为桌面的教程
2015/05/04 Python
python使用psutil模块获取系统状态
2016/08/27 Python
浅析python中SQLAlchemy排序的一个坑
2017/02/24 Python
Python实现学校管理系统
2018/01/11 Python
使用python进行文本预处理和提取特征的实例
2018/06/05 Python
Django中的Model操作表的实现
2018/07/24 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
2019/07/11 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
国际商务专业学生个人的自我评价
2013/09/28 职场文书
小学体育教学反思
2014/01/31 职场文书
小学教师师德师风自我剖析材料
2014/09/29 职场文书
处级领导干部四风问题自我剖析材料
2014/09/29 职场文书
学生保证书
2015/01/16 职场文书
2016银行招聘自荐信
2016/01/28 职场文书
javascript函数式编程基础
2021/09/15 Javascript
MySQL学习之基础操作总结
2022/03/19 MySQL