Jquery宽度100%减去像素

时间:2018-02-09 12:11:17

标签: javascript jquery html css

我正在尝试将elemrnt的宽度设置为100%减去变量(以像素为单位)。

我的subtractWidth变量返回以像素为单位的动态值,例如:170

$('#chartTitle').each(function(i){
  var elem = $(this);
  var parent = $(elem).parent();
  var next = $(parent).next();

  var maxWidth = '100%';
  var subtractWidth = next.width();

  elem.width(maxWidth) - subtractWidth;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <input id="chartTitle" />
</div>
<div> ... </div>

我在做什么?

感谢任何帮助或建议 - 提前谢谢。

1 个答案:

答案 0 :(得分:2)

首先应用100%宽度,然后根据应用的宽度进行计算。

您的问题是,在您的行elem.width(maxWidth) - subtractWidth;中,elem设置的maxWidth为100%但不会减去它。

&#13;
&#13;
calculate = function(){
  var total = '50%';
  var subtractWidth = $('#div1').width();

  $('#div2').width(total)
  $('#div2').width($('#div2').width() - subtractWidth);
}
&#13;
div{
  background-color: red;
  height: 20px;
   display: block;
   width: 0px;
  
}

#div1{
  width: 70px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="div1"></div>
<hr>
<div id="div2"></div>
<hr>
<button onclick="calculate()">calculate</button>
&#13;
&#13;
&#13;