这是我的JSFIDDLE。
场景 - 此处各个分区一,二,三是动态的。单个块的数量可能会增加。
我想找到这4个街区的总宽度。我想将该宽度分配给上面的灰色块。
因此,每当添加新块时,上面灰色块的宽度应该等于块的总宽度。
<div class="head">
<div class="top"></div>
<div class="body">
<div class="body-inner">
<div class="w one"></div>
<div class="w two"></div>
<div class="w three"></div>
<div class="w four"></div>
</div>
</div>
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以计算每个块的宽度,并将该宽度指定为.top
。
我在这里创建了refreshWidthCalculation()
函数,如果要添加新的<div class="w"></div>
,则需要每次调用
此处已更新jsFiddle
var w=0;
$('document').ready(function() {
refreshWidthCalculation();
});
function refreshWidthCalculation(){
w=0;
$(".w").each(function(){
w+=$(this).width();
});
$(".top").width(w);
}
答案 2 :(得分:0)
您需要将代码包装在ready函数中:
$(document).ready(function(){
var x = 0;
$('.w').each(function () {
x += $(this).width();
});
alert(x);
var y = $('.body').width();
alert(y);
});
答案 3 :(得分:0)
var onew=$('.one').width();
var twow=$('.two').width();
var threew=$('.three').width();
var fourw =$('.four').width();
$('.body-inner').width( onew + twow + threew + fourw );
答案 4 :(得分:0)
你可以使用jquery&#39;
outerWidth() - 返回元素的宽度,以及左右填充,边框和可选边距(以像素为单位)。
$('document').ready(function () {
var x = 0;
$('.w').each(function () {
x += $(this).outerWidth() + 10;
});
//10 because first-child does not have margin left and last-child does not have margin right
x -= 10;
$(".top").css("width", x + "px");
});
答案 5 :(得分:0)
使用 .container , clearfix 和 inline-block
<强> CSS 强>
.container {
display: inline-block;
}
JSfiddle:http://jsfiddle.net/ew4Y3/10/
PS 与Danield的回答基本相同
答案 6 :(得分:0)
使用
display: inline-block;