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的构造函数和constructor属性
Jan 09 Javascript
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
Jan 12 Javascript
formValidator3.3的ajaxValidator一些异常分析
Jul 12 Javascript
css transform 3D幻灯片特效实现步骤解读
Mar 27 Javascript
gridpanel动态加载数据的实例代码
Jul 18 Javascript
js闭包引起的事件注册问题介绍
Mar 29 Javascript
基于jQuery插件实现点击小图显示大图效果
May 11 Javascript
基于BootstrapValidator的Form表单验证(24)
Dec 12 Javascript
Javascript实现倒计时时差效果
May 18 Javascript
微信小程序实战篇之购物车的实现代码示例
Nov 30 Javascript
Node.js+ELK日志规范的实现
May 23 Javascript
解决ant design vue中树形控件defaultExpandAll设置无效的问题
Oct 26 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+mysql写的留言本
2006/10/09 PHP
织梦模板标记简介
2007/03/11 PHP
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
PHP的Yii框架中过滤器相关的使用总结
2016/03/29 PHP
PHP空值检测函数与方法汇总
2017/11/19 PHP
Javascript学习笔记9 prototype封装继承
2010/01/11 Javascript
jQuery 选择器理解
2010/03/16 Javascript
jquery实现的元素的left增加N像素 鼠标移开会慢慢的移动到原来的位置
2010/03/21 Javascript
javascript解析json实例详解
2014/11/05 Javascript
在Google 地图上实现做的标记相连接
2015/01/05 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
JavaScript设计模式之代理模式详解
2017/06/09 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
Node.js自定义实现文件路由功能
2017/09/22 Javascript
vue中echarts3.0自适应的方法
2018/02/26 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
nodejs初始化init的示例代码
2018/10/10 NodeJs
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
JavaScript交换变量的常用方法小结【4种方法】
2020/05/07 Javascript
在Angular项目使用socket.io实现通信的方法
2021/01/05 Javascript
python将人民币转换大写的脚本代码
2013/02/10 Python
python实现2048小游戏
2015/03/30 Python
Python简单生成随机数的方法示例
2018/03/31 Python
利用python如何在前程无忧高效投递简历
2019/05/07 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
护理专业的自荐信
2013/10/22 职场文书
四个太阳教学反思
2014/02/01 职场文书
教师竞聘演讲稿
2014/05/16 职场文书
森林病虫害防治方案
2014/06/02 职场文书
经典禁毒标语
2014/06/16 职场文书
先进事迹材料范文
2014/12/29 职场文书
关于清明节的演讲稿2015
2015/03/18 职场文书
优秀共产党员主要事迹材料
2015/11/05 职场文书
《多彩的民间艺术》教学反思
2016/02/16 职场文书
mybatis调用sqlserver存储过程返回结果集的方法
2021/05/08 SQL Server