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 相关文章推荐
javascript 带有滚动条的表格,标题固定,带排序功能.
Nov 13 Javascript
jquery js 获取时间差、时间格式具体代码
Jun 05 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
javascript教程:关于if简写语句优化的方法
May 17 Javascript
js实现基于正则表达式的轻量提示插件
Aug 29 Javascript
JavaScript中的return语句简单介绍
Dec 07 Javascript
jQuery控制frames及frame页面JS的方法
Mar 08 Javascript
AngularJS入门教程之服务(Service)
Jul 27 Javascript
JS实现焦点图轮播效果的方法详解
Dec 19 Javascript
JS仿Base.js实现的继承示例
Apr 07 Javascript
JS实现十分钟倒计时代码实例
Oct 18 Javascript
JavaScript实现PC端横向轮播图
Feb 07 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中的Streams详细介绍
2014/11/12 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
Javascript面向对象编程
2012/03/18 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
JavaScript表单验证实例之验证表单项是否为空
2016/01/10 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
用JavaScript做简易的购物车的代码示例
2017/10/20 Javascript
详解vue 实例方法和数据
2017/10/23 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
vue+element树组件 实现树懒加载的过程详解
2019/10/21 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
Vue解决echart在element的tab切换时显示不正确问题
2020/08/03 Javascript
解决vue页面刷新,数据丢失的问题
2020/11/24 Vue.js
wxPython事件驱动实例详解
2014/09/28 Python
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
Python加载带有注释的Json文件实例
2018/05/23 Python
python3实现基于用户的协同过滤
2018/05/31 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
详解DeBug Python神级工具PySnooper
2019/07/03 Python
Python面向对象封装操作案例详解
2019/12/31 Python
python剪切视频与合并视频的实现
2020/03/03 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
python如何遍历指定路径下所有文件(按按照时间区间检索)
2020/09/14 Python
用python实现一个简单的验证码
2020/12/09 Python
video结合canvas实现视频在线截图功能
2018/06/25 HTML / CSS
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
几个常见的软件测试问题
2016/09/07 面试题
自我鉴定书面格式
2014/01/13 职场文书
《月光启蒙》教学反思
2014/03/01 职场文书
中国梦演讲稿开场白
2014/08/28 职场文书
史上最牛辞职信
2015/05/13 职场文书
2016年优秀共产党员先进事迹材料
2016/02/29 职场文书