2011-10-07 25 views
0

我有一個2列結構的頁面。調整div的兩個問題

我想用jQuery的調整功能(http://api.jquery.com/resize/)使兩列之一(一個div),可調整大小,但我有兩個問題:

  1. 當左列大小我想正確的一個改變一個css參數與另一個列的大小被調整了多少px相關:例如,當左列增長3px時,我想向右列的邊距添加3px?

  2. 我想讓div只能水平調整大小,而不是使用右下角的「resize are」大小,但在邊框上使用了一條直線。

我就只發布了CSS代碼,因爲HTML一個似乎是「執行」,但也有簡單的兩格.sidebar.content

.sidebar{ 
width: 220px; 
float: left; 
position: fixed; 
margin-bottom: 0px; 
padding-bottom: 0px; 

overflow:auto; 
} 

.content{ 
float: right; 
position: fixed; 
padding-left: 220px; 
overflow: auto; 
} 
+0

加上'3px'到'權column'的'margin'當'左column'增長由'3px'?這肯定會迫使「右欄」徹底打破你的尺寸? (是的,但不要打電話給我肯定) –

+0

請張貼代碼 – Tules

+0

是的抱歉,我不是英語 –

回答

1

我不明白你的問題,但我想你實際上是使用jQuery UI Resizable(http://jqueryui.com/demos/resizable/),而不是jquery調整大小(這是一個事件,而不是一個功能調整元素大小)。如果是這種情況,您可以定義一個回調函數,當您調整大小時可以觸發該函數。

是這樣的:

var onResized = function(){ 
    $("#seconddiv").css("width", 300 + (300-$("#yourdiv").width()) +"px"); 

}; 

$("#yourdiv").resizable(stop:onResized); 

在這個例子中,我假設你的div是默認300個像素搭配,讓等量一個DIV有所增加,從另一箇中減去。

如果你不想讓垂直調整大小,您可以添加一個回調是這樣的:

$("#yourdiv").resizable({ 
    resize: function(event, ui) { 
     ui.size.height = ui.originalSize.height; 
    } 
}); 

,或者你可以設置了minHeight和maxHeight爲相同的值是這樣的:

$("#yourdiv").resizable({ 
    minHeight: 555, maxHeight:555 
}); 

如果你沒有使用Resizable,那麼我不明白你的問題。

希望它可以幫助:-)

0

我不完全得到的問題 - 調整應該自動完成。

對於更改CSS使用:.css()

對於寬度/高度.width()等jQuery的

這裏就是你們的榜樣:http://jsfiddle.net/9WwLC/

你可能想使用這樣的,解釋你的問題或張貼有用的例子。