进度条负值.css(宽度,)

时间:2013-08-04 05:06:25

标签: jquery html5 twitter-bootstrap progress-bar

我搜索并研究了所有互联网的foruns ......但我没有找到解决方案......

我需要,这个:

<label> Name:
        <input type="text" id="name" name="name" required />
</label> 
<div class="container">
        <div class="progress progress-danger progress-striped active">
            <div class="bar" id="progBar" ></div> 
        </div>
    </div>  

所以,我希望当用户退出字段(onBlur)时,他会收到字符数量并返回为进度条的值,如果此参数为负数,则返回为进度条的值,只有消极,或者再次成为吧。

bar和JS的代码......

$(document).ready(function() {

$("*").blur(function() {
    var $bar = $("#progBar");
    var $name = $("name");

    if ($("#name").val().length > 2) {
        $bar.css('width', "30%");
    } else {
        $bar.css('width', "-30%"); //How, I do this????????
    }   

2 个答案:

答案 0 :(得分:2)

负宽度是什么意思?在css中,不允许使用负宽度。

在此处阅读或谷歌搜索。

http://www.css3.com/css-width/

  

CSS WIDTH

     

此属性指定元素的渲染框的宽度   块级和替换元素。不允许使用负值。

正宽度是一个属性,如果您要查找元素左侧的宽度,它不是负宽度,它的静止宽度,您可能有一个不同的元素来显示该宽度。

以下是您要找的内容。

JSFIDDLE

这适用于2个输入字段

if (($("#name").val().length > 2) && ($("#email").val().length>2)) {
    $('#positive').css('width','100%');
} else if($("#name").val().length > 2 || $("#email").val().length>2){
    $('#positive').css('width','50%');
} else{
    $('#positive').css('width','0%');
}

您可能还希望看到jquery ui的progressbar

显示在这里的jsFiddle。

fiddle

答案 1 :(得分:0)

您可以同时设置进度条的左边距和宽度,以便将其与负值一起使用。

看一下这个例子:

$(document).ready(function() {

  $("*").blur(function() {
    var $bar = $("#progBar");
    var $name = $("#name");

    if ($("#name").val().length > 2) {
        $bar.css('width', "30%").css("margin-left","50%");
    } else {
        var x=-30;
        $bar.css('width', Math.abs(x) + "%").css("margin-left", (50 + x) + "%");
    }
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<label>Name: <input type="text" id="name" name="name" required /></label> 
<div class="container">
	<div class="progress">
		<div class="progress-bar progress-bar-danger active" id="progBar" role="progressbar" style="width:30%;margin-left:20%;"></div> 
	</div>
</div>