使用jQuery动态改变进度条的颜色

我有一个网格,它显示了系统驱动器空间。 我在进度条格式的gridview列中显示C驱动器的空间。 我绑定我的数据库的GridView。 假设驱动器空间值大于90,我需要将进度条颜色显示为红色或其他绿色。

这是gridview列的源代码:

<Columns>
     <asp:TemplateField>
          <ItemTemplate>
                 <div class='progress'>
                     <div class="progress-label"><%# Eval("C") %></div>
                 </div>
          </ItemTemplate>
      </asp:TemplateField>
</Columns>
.ui-progressbar {
    position: relative;
}

.progress-label {
    position: absolute;
    left: 50%;
    top: 4px;
    font-weight: bold;
    text-shadow: 1px 1px 0 #fff;
}

body {
    font-family: Arial;
    font-size: 10pt;
    }
$(function () {
    $(".progress").each(function () {
        $(this).progressbar({
            value: parseInt($(this).find('.progress-label').text())
        });
    });
});

这是输出,我得到:

在这里输入图像描述

如何在运行时动态改变进度条的颜色?


创建背景颜色为红色的CSS类“警告”。 将该栏的默认颜色设置为绿色。 如果值大于90,则向进度条添加“警告”类,否则删除“警告”类。

添加/删除类的JQuery代码示例可以在这里找到:https://api.jquery.com/addclass/

你可能会得到这个结果:

if(value>90) {
    $( this ).addClass( "warning" );
} else {
    $( this ).removeClass( "warning" );
}

或类似的东西。


尝试这个;

$(function () {
$(".progress").each(function () {
value= parseInt($(this).find('.progress-label').text())
$(this).progressbar({
value: parseInt($(this).find('.progress-label').text())
});

if(value>90) {
$( this ).css( "background","orange");
} else {
$( this ).css( "background","blue");
}
});
});

这个答案很好。 感谢Arun P Johny。

 jQuery:

 $(function () {
        $(".progress").each(function () {
            var $this = $(this),
                value = parseInt($this.find('.progress-label').text());
            $this.progressbar({
                value: value
            });
            if (value < 90) {
                $this.addClass('under')
            } else {
                $this.addClass('over')
            }
        });
    });

 css:

 .over .ui-progressbar-value {
     background-color: red;
     background-image: none;
  }

  .under .ui-progressbar-value {
     background-color: blue;
     background-image: none;
  }

GridView Column:

<Columns>
     <asp:TemplateField>
         <ItemTemplate>
            <div class='progress'>
                 <div class="progress-label">
                      <%# Eval("C") %>
                 </div>
            </div>
        </ItemTemplate>
     </asp:TemplateField>
 </Columns>
链接地址: http://www.djcxy.com/p/31029.html

上一篇: Change the color of progress bar dynamically using jQuery

下一篇: yii2:jquery if gridview column contains specific value than change color