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 相关文章推荐
jquery获取下拉列表的值为null的解决方法
Mar 18 Javascript
jQuery产品间断向下滚动效果核心代码
May 08 Javascript
chrome下jq width()方法取值为0的解决方法
May 26 Javascript
如何正确使用javascript 来进行我们的程序开发
Jun 23 Javascript
JQuery跳出each循环的方法
Apr 16 Javascript
jquery事件的ready()方法使用详解
Nov 11 Javascript
微信小程序 WXDropDownMenu组件详解及实例代码
Oct 24 Javascript
Jquery实时监听input value的实例
Jan 26 Javascript
原生js实现简单的Ripple按钮实例代码
Mar 24 Javascript
Vue项目History模式404问题解决方法
Oct 31 Javascript
jquery ui 实现 tab标签功能示例【测试可用】
Jul 25 jQuery
taro 实现购物车逻辑的实例代码
Jun 05 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连接Oracle for NT 远程数据库
2006/10/09 PHP
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
检测png图片是否完整的php代码
2010/09/06 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
php实现微信公众号无限群发
2015/10/11 PHP
深入解析PHP的Yii框架中的缓存功能
2016/03/29 PHP
JavaScript的public、private和privileged模式
2009/12/28 Javascript
在网站上应该用的30个jQuery插件整理
2011/11/03 Javascript
在js中判断checkboxlist(.net控件客户端id)是否有选中
2013/04/11 Javascript
jquery 获取表单元素里面的值示例代码
2013/07/28 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
JavaScript之Vue.js【入门基础】
2016/12/06 Javascript
详解在AngularJS的controller外部直接获取$scope
2017/06/02 Javascript
JS简单实现数组去重的方法分析
2017/10/14 Javascript
浅谈vue同一页面中拥有两个表单时,的验证问题
2018/09/18 Javascript
React如何解决fetch跨域请求时session失效问题
2018/11/02 Javascript
JS实现简单的点赞与踩功能示例
2018/12/05 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
websocket4.0+typescript 实现热更新的方法
2019/08/14 Javascript
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
在vue中封装方法以及多处引用该方法详解
2020/08/14 Javascript
python访问sqlserver示例
2014/02/10 Python
Python创建空列表的字典2种方法详解
2020/02/13 Python
最小二乘法及其python实现详解
2020/02/24 Python
python raise的基本使用
2020/09/10 Python
工商管理本科毕业生求职信范文
2013/10/05 职场文书
历史学专业推荐信
2013/11/06 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
高中生物教学反思
2014/02/05 职场文书
2014年酒店前台工作总结
2014/11/14 职场文书
六一文艺汇演开幕词
2015/01/29 职场文书
出国导师推荐信
2015/03/25 职场文书
浅析MongoDB之安全认证
2021/06/26 MongoDB
详解Flutter自定义应用程序内键盘的实现方法
2022/06/14 Java/Android