css - 根据百分比更改 Bootstrap 进度条颜色

标签 css angularjs twitter-bootstrap-3 progress-bar

我使用 Bootstrap 创建了一个进度条,并希望颜色根据百分比动态变化。到目前为止,这是我的代码的样子:

<div class="progress" style="height: {{c.options.bar_height}}px;">
  <div class="progress-bar progress-bar-striped active {{c.progress_bar_color}}" role="progressbar" aria-valuenow={{c.data.percent_complete}} aria-valuemin="0" aria-valuemax="100" style="width:{{c.data.percent_complete}}; font-size: {{c.options.font_size}};">
      {{c.data.percent_complete}} 
  </div>
</div>

在我的客户端 Controller 中,我设置了这样的颜色:

if(c.data.percent_complete<=50) {
    c.progress_bar_color = 'progress-bar-danger';
}  
if(c.data.percent_complete>50 && c.data.percent_complete<=75) {
    c.progress_bar_color = 'progress-bar-warning';  
}  
if(c.data.percent_complete>75 && c.data.percent_complete<=99.99) {
    c.progress_bar_color = 'progress-bar-primary';
}  
if(c.data.percent_complete==100) {
    c.progress_bar_color = 'progress-bar-success';
}

到目前为止,进度条根本没有改变颜色。我缺少什么才能让它发挥作用?


编辑

我摆脱了客户端 Controller 并添加了一个 ng 类:

ng-class="{'progress-bar-danger': c.data.percent_complete<'33', 'progress-bar-warning': c.data.percent_complete>='33' && c.data.percent_complete<'66', 'progress-bar-success': c.data.percent_complete>='66'}"

这适用于所有情况,除非它是 100%。当进度条达到 100% 时,无论出于何种原因,它都会变为进度条危险而不是进度条成功。任何建议如何解决这个问题?谢谢!

最佳答案

可以尝试使用 ng-class="c.progress_bar_color" 代替

也许这个working JSFiddle有帮助:)

关于css - 根据百分比更改 Bootstrap 进度条颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50400724/

相关文章:

css - 无法通过css应用图片

javascript - AngularJs 销毁广播并发出监听器

javascript - Angularjs - 元素上的多个指令,其中一个是隔离范围

html - Bootstrap 4 动画导航栏不显示

html - 为什么我的背景图片在 CSS 中不起作用?

CSS 不适用于 Wordpress 自定义菜单

html - 为什么我的 iframe 上方和下方有一个白色条?

javascript - css 中的 url 被 angular 重写

css - 在导航栏中垂直居中图标和搜索框

css - 为什么我的 bootstrap (3) 网格没有响应?