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 相关文章推荐
你的编程语言可以这样做吗?
Sep 07 Javascript
基于Jquery的跨域传输数据(JSONP)
Mar 10 Javascript
javascript学习笔记(十九) 节点的操作实现代码
Jun 20 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
Aug 24 Javascript
浅析BootStrap栅格系统
Jun 07 Javascript
vue引入swiper插件的使用实例
Jul 19 Javascript
jquery easyui如何实现格式化列
Jul 30 jQuery
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
Dec 09 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 Javascript
webpack分离css单独打包的方法
Jun 12 Javascript
vue.js实现二级菜单效果
Oct 19 Javascript
基于vue-cli3+typescript的tsx开发模板搭建过程分享
Feb 28 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 fsockopen写的HTTP下载的类
2007/02/22 PHP
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
PHP6 先修班 JSON实例代码
2008/08/23 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
2015/05/12 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
PHP自定义函数实现格式化秒的方法
2016/09/14 PHP
PHP+Redis事务解决高并发下商品超卖问题(推荐)
2020/08/03 PHP
Javascript与vbscript数据共享
2007/01/09 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
jQuery实现单行文字间歇向上滚动源代码
2013/06/02 Javascript
JS+flash实现chrome和ie浏览器下同时可以复制粘贴
2013/09/22 Javascript
js中的preventDefault与stopPropagation详解
2014/01/29 Javascript
利用Keydown事件阻止用户输入实现代码
2014/03/11 Javascript
js实现window.open不被拦截的解决方法汇总
2014/10/30 Javascript
JS的框架Polymer中的dom-if和is属性使用说明
2015/07/29 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
Vue组件BootPage实现简单的分页功能
2016/09/12 Javascript
JS简单实现自定义右键菜单实例
2017/05/31 Javascript
React Native使用Modal自定义分享界面的示例代码
2017/10/31 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
Vue2.0仿饿了么webapp单页面应用详细步骤
2018/07/08 Javascript
Node.js HTTP服务器中的文件、图片上传的方法
2019/09/23 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
JavaScript实现10秒后再次获取验证码
2020/12/02 Javascript
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
python pyqtgraph 保存图片到本地的实例
2020/03/14 Python
你应该知道的Python3.6、3.7、3.8新特性小结
2020/05/12 Python
澳大利亚优质的家居用品和生活方式公司:Bed Bath N’ Table
2019/04/16 全球购物
关于十八大的演讲稿
2014/09/15 职场文书
小学公民道德宣传日活动总结
2015/03/23 职场文书
入党转正申请报告
2015/05/15 职场文书
Jsonp劫持学习
2021/04/01 PHP
Jupyter Notebook内使用argparse报错的解决方案
2021/06/03 Python
python字典的元素访问实例详解
2021/07/21 Python
HTML5+CSS+JavaScript实现捉虫小游戏设计和实现
2021/10/16 HTML / CSS
SQL Server实现分页方法介绍
2022/03/16 SQL Server