bootstrap实现动态进度条效果

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的值,间接改变前台百分比的显示。当然,条条大路通罗马,没有最好的设计,只有更好的思想。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Bootstrap每天必学之进度条

    1.进度条 在网页中,进度条的效果并不少见,比如一个评分系统,比如加载状态等.就如下图所示的一个评分系统,他就是一个简单的进度条效果: 进度条和其他独立组件一样,开发者可以根据自己的需要,选择对应的版本: ☑ LESS版本:源码文件progress-bars.less ☑ Sass版本:源码文件_progress-bars.scss ☑ 编译后版本:bootstrap.css文件第4500行-第4575行 而且Bootstrap框架为大家提供多种样式风格的进度条,供大家使用. 2.进度条–基本样

  • bootstrap+jQuery实现的动态进度条功能示例

    本文实例讲述了bootstrap+jQuery实现的动态进度条功能.分享给大家供大家参考,具体如下: 此款进度条实现的功能: 1.利用了bootstrap的进度条组件. a.在最外层的<div>中加入class .progress,在里层<div>加入class .progress-bar从而实现基本的进度条. b.在外层<div>中加入class .progress-striped实现条纹进度条. c.在内层<div>加入class .progress-b

  • BootStrap 实现各种样式的进度条效果

    Bootstrap提供了各式各样的进度条效果,下面通过实例代码给大家详细介绍,具体详情如下所示: 看下面的例子: <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1&quo

  • Bootstrap进度条实现代码解析

    本文实例为大家分享了Bootstrap进度条的具体代码,供大家参考,具体内容如下 基本结构 <div class="progress"> <div class="progress-bar" role="progressbar" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100" style="wid

  • bootstrap多种样式进度条展示

    为大家分享了多种多样的bootstrap进度条样式,供大家参考,具体内容如下 1.默认的进度条 添加一个带有class .progress 的div,在其内添加一个带有 class .progress-bar 的空div,为空div添加一个以百分比表示的style属性,如 style="60%"表示进度条在60%的位置. 2.不同样式的进度条 添加一个带有class .progress 的div,在其内添加一个带有class .progress-bar 和class .progress

  • BootStrap Progressbar 实现大文件上传的进度条的实例代码

    1.首先实现大文件上传,如果是几兆或者几十兆的文件就用基本的上传方式就可以了,但是如果是大文件上传的话最好是用分片上传的方式.我这里主要是使用在客户端进行分片读取到服务器段,然后保存,到了服务器段读取完了之后将分片数据进行组合. 2.前端代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UploadTest2.aspx.cs" Inherits="Htm

  • jquery 简单的进度条实现代码

    其实我本来的计划是做网页设计师的,可是没有人认为我设计的好,哥到现在还没有工作,发泄一下,不多说了. 效果图 需要用到的图片: 背景图片: 进度显示图片: 网页结构: 复制代码 代码如下: <div id="center"> <div id="message"></div> <div id="loading"><div></div></div> </div&

  • BootStrap初学者对弹出框和进度条的使用感觉

    Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷. bootstrap 框架提供的进度条,如菜鸟教程里面的这些代码 <div class="progress"> <div class="progress-bar" role="progressbar" aria-valuenow="60&qu

  • 分享8款优秀的 jQuery 加载动画和进度条插件

    加载动画和进度条在网站和 Web 应用中的使用非常流行.虽然网速越来越快,但是我们的网站越来越复杂,同时用户对网站的使用体验的要求也越来越高.在内容加载缓慢的时候,使用时尚的加载动画和进度条告诉用户还有内容正在加载是一种非常好的方式.今天这篇文章向大家推荐10款基于 jQuery 实现的加载动画和进度条插件. Spin.js 最喜欢这款插件了,动画图片的长度.粗细.速度和角度都可以灵活控制,想要做成什么样都可以. 源码下载    在线演示 Percentage Loader 一款轻量的 jQue

  • Spring Boot+AngularJS+BootStrap实现进度条示例代码

    Spring Boot+AngularJS+BootStrap实现进度条 原理 进度条的原理是在上传文件的时候,当程序运行到某一个部分,往Session中设置一个1到100的值.然后前台再每隔很小的一段时间去请求这个值. 在AngularJS中,$http对象有3种状态,分别是success,progress,error,其中progress方法就会在success方法调用之前(也就是上传完成之前),不断地调用.而我们要做的就是在progress中在添加一个请求,去后台拿我们设置在session

  • Bootstrap实现各种进度条样式详解

    一:默认的进度条 创建一个基本的进度条的步骤如下: 添加一个带有 class .progress 的 <div>. 接着,在上面的 <div> 内,添加一个带有 class .progress-bar 的空的 <div>. 添加一个带有百分比表示的宽度的 style 属性,例如 style="60%"; 表示进度条在 60% 的位置. 让我们看看下面的实例: <!DOCTYPE html> <html> <head>

  • BootStrap组件之进度条的基本用法

    1.进度条基本用法 主要依赖.progress和.progress-bar aria-valuenow表示当前值 aria-valuemin表示最小值 aria-valuemax表示最大值 width:60%表示当前进度条位置 <div class="progress"> <div class="progress-bar" aria-valuenow="60" aria-valuemin="0" aria-v

随机推荐