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 prototype 格式化数字 By shawl.qiu
Apr 02 Javascript
js 遍历json返回的map内容示例代码
Oct 29 Javascript
jQuery控制iFrame(实例代码)
Nov 19 Javascript
js onmousewheel事件多次触发问题解决方法
Oct 17 Javascript
jQuery中html()方法用法实例
Dec 25 Javascript
详解JavaScript时间格式化
Dec 23 Javascript
jQuery动画效果图片轮播特效
Jan 12 Javascript
js 提交form表单和设置form表单请求路径的实现方法
Oct 25 Javascript
浅谈对Angular中的生命周期钩子的理解
Jul 31 Javascript
Element-UI+Vue模式使用总结
Jan 02 Javascript
JavaScript实现轮播图效果
Oct 30 Javascript
解决Mint-ui 框架Popup和Datetime Picker组件滚动穿透的问题
Nov 04 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
复杂检索数据并分页显示的处理方法
2006/10/09 PHP
Zend Framework中的简单工厂模式 图文
2012/07/10 PHP
PHP获取MySql新增记录ID值的3种方法
2014/06/24 PHP
详解EventDispatcher事件分发组件
2016/12/25 PHP
PHP+jQuery实现即点即改功能示例
2019/02/21 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
js onclick事件传参讲解
2013/11/06 Javascript
js实现网页倒计时、网站已运行时间功能的代码3例
2014/04/14 Javascript
JavaScript常用小技巧小结
2014/12/29 Javascript
学习JavaScript设计模式之享元模式
2016/01/18 Javascript
BootStrap table使用方法分析
2016/11/08 Javascript
vue.js 实现图片本地预览 裁剪 压缩 上传功能
2018/03/01 Javascript
详解js类型判断
2018/05/22 Javascript
python学习笔记--将python源文件打包成exe文件(pyinstaller)
2018/05/26 Python
Python多项式回归的实现方法
2019/03/11 Python
Python二进制文件读取并转换为浮点数详解
2019/06/25 Python
PyCharm+Pipenv虚拟环境开发和依赖管理的教程详解
2020/04/16 Python
tensorflow 动态获取 BatchSzie 的大小实例
2020/06/30 Python
详解pycharm的python包opencv(cv2)无代码提示问题的解决
2021/01/29 Python
纽约海:Sea New York
2018/11/04 全球购物
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
工商管理专业职业生涯规划
2014/01/01 职场文书
承办会议欢迎词
2014/01/17 职场文书
《绿色蝈蝈》教学反思
2014/03/02 职场文书
技校毕业生自荐信范文
2014/03/07 职场文书
法制宣传月活动方案
2014/05/11 职场文书
客户答谢会活动方案
2014/08/31 职场文书
年底个人总结范文
2015/03/10 职场文书
生死牛玉儒观后感
2015/06/11 职场文书
宾馆卫生管理制度
2015/08/06 职场文书
一封真诚的自荐信帮你赢得机会
2019/05/07 职场文书
php png失真的原因及解决办法
2021/11/17 PHP