2010-11-21 73 views
3

這就是我想要達到jQuery的垂直對齊2周的div

alt text

我有一個流體提示和一個按鈕。它們的寬度由文本和div填充確定。文字可能會有所不同。那說明如何通過Jquery垂直對齊它們?

我想使用jquery的原因是爲了避免使用表和過多的HTML。

我試過寬度()函數,但它沒有給出確切的寬度。我想應該得到填充呢?

最後,我很害怕數字..我不知道可以使用什麼公式,但我懷疑可能會將兩個div寬度除以2,並以某種方式將midd居中?

編輯:當點擊按鈕,工具提示出現,並絕對不會干擾/推其他股利。

編輯:進展中的工作jsfiddle.net/Aezb6

+0

你的意思是*水平對齊它們嗎? – 2010-11-21 20:43:43

+0

@user,當你點擊push div的時候,你會得到感謝你的請求,如果是這樣,讓我知道它應該很容易 – kobe 2010-11-21 20:45:10

+0

@gov是你點擊按鈕時彈出工具提示我應該提及工具提示是絕對的,所以它不會干擾其他div。 – CyberJunkie 2010-11-21 20:52:45

回答

2

獲取calloutdiv的寬度//

widthCallout=$('#calloutdivWidth'); //這是動態

除法此通過按鈕的寬度是恆定的。

被甩:

left= widthCallout/pushbuttonwidth 

你可以玩弄paddingLeft值+或 - 它給你確切的中心:

+0

按鈕的寬度也是動態的,它的文字變化爲 – CyberJunkie 2010-11-21 20:54:57

+0

@user,因爲這是絕對定位的,將它改爲left屬性 – kobe 2010-11-21 20:56:14

+0

@user沒問題,這就是爲什麼你應該動態獲取寬度,但是你不能讓寬度增長動態地,你應該提供一些寬度, – kobe 2010-11-21 20:57:54

1

見這個例子:

 
var item = $(".tooltip"); 
var container = $("#container"); 

var position = item.position(); 

var mytop = position.top - container.height() + $(document).scrollTop(); 
var myleft = position.left - container.width() + $(document).scrollLeft(); 

// Correct relative coordinates for IE and WebKIT 
if($.browser.msie || $.browser.webkit){ 
    mytop = position.top - container.height(); 
    myleft = position.left - container.width(); 
} 

container.offset({top: mytop, left: myleft});