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 相关文章推荐
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
Apr 15 Javascript
JQuery异步加载无限下拉框级联功能实现示例
Feb 19 Javascript
javascript常用的正则表达式实例
May 15 Javascript
jQuery学习笔记之toArray()
Jun 09 Javascript
javascript学习笔记(六)数据类型和JSON格式
Oct 08 Javascript
js运动动画的八个知识点
Mar 12 Javascript
理解javascript异步编程
Jan 27 Javascript
AngularJS 单元测试(一)详解
Sep 21 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
Oct 27 Javascript
vue安装和使用scss及sass与scss的区别详解
Oct 15 Javascript
Vue源码探究之状态初始化
Nov 14 Javascript
抖音上用记事本编写爱心小程序教程
Apr 17 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+ajax实现无刷新分页的方法
2014/11/04 PHP
php中Redis的应用--消息传递
2017/03/28 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
js比较和逻辑运算符的介绍
2013/03/10 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
javascript抽象工厂模式详细说明
2014/12/16 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
jQuery中outerWidth()方法用法实例
2015/01/19 Javascript
jquery控制页面部分刷新的方法
2015/06/24 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
Sea.JS知识总结
2016/05/05 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
使用jQuery,Angular实现登录界面验证码详解
2017/04/27 jQuery
详解Vue.js搭建路由报错 router.map is not a function
2017/06/27 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
Vue.js实现双向数据绑定方法(表单自动赋值、表单自动取值)
2018/08/27 Javascript
Nodejs技巧之Exceljs表格操作用法示例
2019/11/06 NodeJs
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
关于vue的列表图片选中打钩操作
2020/09/09 Javascript
在vue中嵌入外部网站的实现
2020/11/13 Javascript
Python编程中对文件和存储器的读写示例
2016/01/25 Python
python executemany的使用及注意事项
2017/03/13 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
Python决策树分类算法学习
2017/12/22 Python
Python3.5字符串常用操作实例详解
2019/05/01 Python
如何使用pyinstaller打包32位的exe程序
2019/05/26 Python
Python assert关键字原理及实例解析
2019/12/13 Python
pytorch实现Tensor变量之间的转换
2020/02/17 Python
Python smtp邮件发送模块用法教程
2020/06/15 Python
python中执行smtplib失败的处理方法
2020/07/01 Python
美国在线轮胎零售商:SimpleTire
2019/04/08 全球购物
研究生求职推荐信范文
2013/11/30 职场文书
单位刻章介绍信范文
2014/01/11 职场文书
党员岗位承诺口号大全
2014/03/28 职场文书
十佳文明家庭事迹
2014/05/25 职场文书
拉歌口号大全
2014/06/13 职场文书