我正在尝试将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>
我在做什么?
感谢任何帮助或建议 - 提前谢谢。
答案 0 :(得分:2)
首先应用100%宽度,然后根据应用的宽度进行计算。
您的问题是,在您的行elem.width(maxWidth) - subtractWidth;
中,elem设置的maxWidth为100%但不会减去它。
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;