bootstrap实现动态进度条效果

 更新时间:2017年03月08日 14:42:18   作者:红尘客栈_繁华  
本篇文章主要介绍了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的值,间接改变前台百分比的显示。当然,条条大路通罗马,没有最好的设计,只有更好的思想。

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

相关文章

  • js有趣的非空判断函数 + ?? 实现

    js有趣的非空判断函数 + ?? 实现

    本文介绍了JS中空值合并操作符??的用法,包括如何使用它来判断数据是否为“合法数据”,即非空字符串、非undefined和非null,下面就一起来了解一下,感兴趣的可以了解一下
    2024-09-09
  • 微信小程序 点击切换样式scroll-view实现代码实例

    微信小程序 点击切换样式scroll-view实现代码实例

    这篇文章主要介绍了微信小程序 点击切换样式scroll-view实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • Grunt入门教程(自动任务运行器)

    Grunt入门教程(自动任务运行器)

    Grunt是一个自动任务运行器,会按照预先设定的顺序自动运行一系列的任务。这可以简化工作流程,减轻重复性工作带来的负担
    2015-08-08
  • JS截取字符串的三种方法详解

    JS截取字符串的三种方法详解

    本文详细讲解了JS截取字符串的三种方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • Javascript技术难点之apply,call与this之间的衔接

    Javascript技术难点之apply,call与this之间的衔接

    这篇文章主要介绍了Javascript技术难点之apply,call与this之间的衔接的相关资料,需要的朋友可以参考下
    2015-12-12
  • 解析JavaScript数组方法reduce

    解析JavaScript数组方法reduce

    本文主要介绍了JavaScript数组方法reduce的概述、语法、参数、工作原理等,由浅入深,便于理解。需要的朋友可以看下
    2016-12-12
  • 微信小程序实现底部弹出框封装

    微信小程序实现底部弹出框封装

    这篇文章主要为大家详细介绍了微信小程序底部弹出框封装,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • js中onclick和addEventListener的区别详解

    js中onclick和addEventListener的区别详解

    这篇文章深入探讨了JavaScript中处理事件的两种不同方法,即熟悉的onclick和多功能的addEventListener方法,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-08-08
  • 一文搞懂JSON(JavaScript Object Notation)

    一文搞懂JSON(JavaScript Object Notation)

    Json 有两种基本的结构,即 Json对象 和 Json 数组。通过 Json 对象和 Json 数组这两种结构的组合可以表示各种复杂的结构,今天通过本文给大家介绍JavaScript Object Notation的基本知识,感兴趣的朋友一起看看吧
    2021-10-10
  • JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面

    JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面

    这篇文章主要介绍了JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面的代码,代码比较简单,好理解,需要的朋友可以参考下
    2016-08-08

最新评论