0
我在下面分別粘貼了我的JS代碼,CSS和HTML。重新調整div的大小應該按比例重新調整其他div的大小
var hgt=0,newhgt=0,bsh=0,diff=0;
$('#footS').resizable({
alsoResize:"#footC",
handles:"n",
start: function(event,ui){
oldhgt = ui.size.height;
bsh = $('#bodyS').height();
}, resize:function(event,ui){
diff = oldhgt - ui.size.height;
if(diff<0)
\t newhgt = bsh - Math.abs(diff);
else
\t newhgt = bsh + diff;
\t
$('#bodyS').height(newhgt);
}, stop:function(event,ui){
newhgt = bsh - Math.abs(oldhgt - ui.size.height);
$('#bodyS').css("height",newhgt+"px");
$('#bodyC').css("height",newhgt+"px");
$('#footS').css("height",ui.size.height+"px");
}
});
#vscale,#canvas {
height: auto;
width: auto;
/* border: 1px solid gray; */
margin-left: 5px;
float: left;
position:absolute;
}
#canvas{
margin-left:100px;
}
.scale {
height:150px;
width:50px;
border: 1px dotted gray;
}
#headS,#headC{border-color: red;min-height:50px;}
#bodyS,#bodyC{border-color: blue;min-height:50px;}
#footS,#footC{border-color: green; min-height:50px;}
.ui-resizable-helper {
border: 1px dotted #999;
}
.fscale{top:0.0px;position:relative;}
.cont{
border: 1px dotted gray;
height:150px;
width:auto;
}
<link href="https://code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" rel="stylesheet"/>
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
<div id="vscale" style="top:75px;">
<div id="headS" class="scale">HScale</div>
<div id="bodyS" class="scale">BScale</div>
<div id="footS" class="scale fscale">FScale</div>
</div>
<div id="canvas" style="width:300px;top:75px;">
<div id="headC" class="cont">HeadContainer</div>
<div id="bodyC" class="cont">BodyContainer</div>
<div id="footC" class="cont">FootContainer</div>
</div>
問題是,當我重新大小的#footS DIV我無法改變#bodyS div的高度和#bodyC DIV而調整大小,並且還北部手柄當重新大小停止時。我還需要減少#footC div的頂部,因爲我正在動態調整#footS div的大小。任何形式的幫助都會有所幫助。
對不起,我不確定你想要完成什麼。我在JSFiddle中運行它來查看發生了什麼,但我仍然不知道。 (也就是jQuery) – JackHasaKeyboard
當我從#footS向上拖動北手柄時:我需要在調整大小時動態更改#FootC,#bodyC和#bodyS的高度,並在調整大小停止時設置它們。 – TheGaME
我相信你正在尋找一種叫做表格的東西,它會處理你試圖完成的邏輯。表格是由稱爲「單元格」的元素組成的網格,這些元素被限制爲具有均勻的高度和寬度。想想Microsoft Excel。這裏舉例說明:https://jsfiddle.net/5jp06gn2/,看看錶的列和行以及它們包含的所有元素是如何自動改裝的? – JackHasaKeyboard