2011-09-25 32 views
3

的邊緣獲取寬度本質上,思想是使Element-BElement-C覆蓋區域水平Element-A中心開始,在viewport邊緣結束。從元件的中心到視口

所以,我想我想從Element-A中心的距離值到達的viewport

附加說明邊緣:

  1. Element-A可是沒有靜態位置或大小。
  2. Element-BElement-C verticalposition或高度是 無關緊要的。

Image

我的想法是這樣的:的Element-A

  1. 計算寬度除以二(或者只得到一半的寬度,如果那裏有一種方式。)
  2. 獲取到的 Viewport
  3. 邊緣從 Element-A邊緣的距離
  4. 加起這些計算值。

(當然,除非那裏有辦法讓這個寬度向上伸直)

我試圖尋找一種方法做列表項2.但無法找到一個方法來做到這一點..那或多或少砸了我的想法..

我除了基本設置爲圖像http://jsfiddle.net/nsEth/

任何想法,沒有起點?

+0

這是一個很好的圖! –

回答

1

像這樣的事情? http://jsfiddle.net/nsEth/1/

var a = $('#Element-A'), 
    b = $('#Element-B'), 
    c = $('#Element-C'), 
    aw; 

$(window).resize(function() { 
    b.width(aw = a.offset().left + a.width()/2); 
    c.width($(window).width() - aw).css('left', aw); 
}).resize(); 
+0

這似乎是做這項工作。我會去測試這個......(我甚至沒有考慮過窗口大小調整的問題。 – Joonas