在某些百分比上禁用Bootstrap进度栏的平滑动画过渡

基甸

我正在使用Bootstrap进度栏(PB)来显示进程进度。我的流程是AJAX流程。理想情况下,后台任务应立即向进度栏报告,然后再向后台进程报告百分比状态,以显示实时进度指示(“ 100个任务中有1个已完成... ... 100个任务中有99个已完成”),则后台任务仅限于发送一份状态报告。这就是AJAX调用的结尾。

因此,我决定改为循环播放PB。因此,如果达到100%,它将再次循环到0%,直到AJAX任务完成并结束循环。Bootstrap的问题是动画介于100%到0%之间。

我的文章中,当PB达到100%时,应该立即为0%。但是,它不会立即闪烁到0%,而是为该过程添加了动画效果。因此,只有第一个循环变为0%到100%,随后的循环达到25%到100%,再也不会达到0%了。

我虽然动画是因为.activePB类。因此,我尝试删除100%到1%之间的内容:

var increment = function(value) {
    if(x > 100) {
        x = 0;
        progressBar.parent().removeClass("active");
    }
    else if(x == 1) {
        progressBar.parent().addClass("active");
    }

    progressBar
        .attr('aria-valuenow', value % 100)
        .css('width', (value % 100) + '%')
        .text("");
};

尽管它仍然无法正常工作。如何仅在此特定PB上禁用该转换?我可以将超时设置为1秒,尽管我认为有更好的答案,但是这个问题将消失。

罗杰

如果添加transition:none;到栏中。然后,它只会以与定时器功能一样快的速度进行动画处理。

var progressBar = $("div.progress-bar");
var x = 0;
var increment = function() {
  x = (x > 100) ? 0 : x + 1;
  progressBar.css('width', (x % 100) + '%');
};


window.setInterval(increment, 50);
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<div class="row">
  <div class="col-sm-12">
    <div class="progress progress-striped active">
      <div class="progress-bar" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 0%;transition:none;">

      </div>
    </div>
  </div>
</div>

您还可以添加transition-duration:50ms 与动画速率相同的值,它将使动画平滑。

var progressBar = $("div.progress-bar");
var x = 0;
var increment = function() {
  x = (x > 100) ? 0 : x + 1;
  progressBar.css('width', (x % 100) + '%');
};


window.setInterval(increment, 50);
<link href="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<div class="row">
  <div class="col-sm-12">
    <div class="progress progress-striped active">
      <div class="progress-bar" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 0%;transition-duration:50ms;">

      </div>
    </div>
  </div>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在某些百分比上禁用Bootstrap进度栏的平滑动画过渡

来自分类Dev

在某些百分比上禁用Bootstrap进度栏的平滑动画过渡

来自分类Dev

进度栏-百分比之间的平滑过渡

来自分类Dev

进度栏-百分比之间的平滑过渡

来自分类Dev

循环百分比进度栏

来自分类Dev

CSS-具有不同进度百分比的多动画进度栏

来自分类Dev

使javascript动画栏与动画百分比同步

来自分类Dev

文件上传:完成进度百分比栏

来自分类Dev

CSS转换百分比(用于进度栏)

来自分类Dev

在TTK进度栏中显示百分比

来自分类Dev

禁用进度条百分比

来自分类Dev

Javascript在滚动页面的某些百分比上开始和结束

来自分类Dev

在百分比上拉伸响应元素

来自分类Dev

将代码中进度的百分比传递给Jquery进度栏?

来自分类Dev

如何在进度栏中指示进度百分比?

来自分类Dev

SVG进度圈百分比

来自分类Dev

ZK 显示进度百分比

来自分类Dev

计算HTML5画布径向进度栏中的点击百分比

来自分类Dev

使用百分比值更新进度栏?

来自分类Dev

带有持续时间和百分比的进度栏

来自分类Dev

在VB.net中按进度栏的特定百分比进行的事件

来自分类Dev

Bootstrap 3进度条百分比显示在其下方

来自分类Dev

Bootstrap 3进度条百分比显示在其下方

来自分类Dev

如何在一组百分比上最佳分配值?

来自分类Dev

如何获取数据百分比上载到服务器

来自分类Dev

数据百分比属性更改的CSS过渡

来自分类Dev

如何用进度百分比更新$ ionicLoading?

来自分类Dev

进度条百分比与条对齐

来自分类Dev

计算并显示页面加载进度的百分比