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获取div高度的代码
Aug 09 Javascript
javascript call方法使用说明
Jan 11 Javascript
用JQuery在网页中实现分隔条功能的代码
Aug 09 Javascript
jquery next nextAll nextUntil siblings的区别介绍
Oct 05 Javascript
js给页面加style无效果的解决方法
Jan 20 Javascript
jQuery超酷平面式时钟效果代码分享
Mar 30 Javascript
Json对象和字符串互相转换json数据拼接和JSON使用方式详细介绍(小结)
Oct 25 Javascript
简单实现js菜单栏切换效果
Mar 04 Javascript
详解JavaScript 的变量
Mar 08 Javascript
JavaScript实现图片的放大缩小及拖拽功能示例
May 14 Javascript
一篇文章带你使用Typescript封装一个Vue组件(简单易懂)
Jun 05 Javascript
微信小程序实现列表滚动头部吸顶的示例代码
Jul 12 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过滤html字符串,防止SQL注入的方法
2013/07/02 PHP
PHP json_encode() 函数详解及中文乱码问题
2015/11/05 PHP
yii数据库的查询方法
2015/12/28 PHP
详解PHP实现异步调用的4种方法
2016/03/14 PHP
javascript中字符串替换函数replace()方法与c# 、vb 替换有一点不同
2010/06/25 Javascript
javascript高级学习笔记整理
2011/08/14 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
Js中获取frames中的元素示例代码
2013/07/30 Javascript
js使用removeChild方法动态删除div元素
2014/08/01 Javascript
javascript里使用php代码实例
2014/12/13 Javascript
js的form表单提交url传参数(包含+等特殊字符)的两种解决方法
2016/05/25 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
利用ES6的Promise.all实现至少请求多长时间的实例
2017/08/28 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
微信小程序自定义键盘 内部虚拟支付
2018/12/20 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
微信小程序仿抖音短视频切换效果的实例代码
2020/06/24 Javascript
Vue文本模糊匹配功能如何实现
2020/07/30 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
请求时token过期自动刷新token操作
2020/09/11 Javascript
[04:11]DOTA2上海特级锦标赛主赛事首日TOP10
2016/03/03 DOTA
Python运行的17个时新手常见错误小结
2012/08/07 Python
利用Hyperic调用Python实现进程守护
2018/01/02 Python
利用Pandas 创建空的DataFrame方法
2018/04/08 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
pytorch 常用函数 max ,eq说明
2020/06/28 Python
深入浅析pycharm中 Make available to all projects的含义
2020/09/15 Python
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
美国在线购买内衣网站:HerRoom
2020/02/22 全球购物
linux面试题参考答案(4)
2014/09/21 面试题
大学毕业生简单自荐信
2013/11/05 职场文书
毕业求职自荐信格式是什么
2013/11/19 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
基于Python实现一个春节倒计时脚本
2022/01/22 Python
MySQL为数据表建立索引的原则详解
2022/03/03 MySQL