2014-11-16 28 views
1

基於jQuery文檔,有兩種返回元素位置的方法:offset()和position()。偏移給我相對於窗口屏幕的位置,而位置()相對於父元素。我可以使用元素相對於silbling的孩子的JQuery position()嗎?

我後是讓<div class="main_element">相對的位置<div class="SILBLINGS_CHILD">

<div class="main_element"></div> 
<div class="silbling"></div> 
<div class="silbling"> 
    <div class="SILBLINGS_CHILD"></div> 
</div> 

的原因是,我做的滾動的DIV固定定位(所以當我滾動主DIV向下,main_element將不可見,但應保持它的固定位置)。

這怎麼能實現?

+0

*'「補償給我相對於窗口的屏幕位置」'*這不是真的,應該給你是共同的。相對於'document' –

+0

爲什麼不使用一些CSS來保持它的固定? –

+0

'文件'?現在,你正在拆分頭髮,'document'沒有考慮窗口外部的元素,至少基於我的快速結帳('$(window).height()'給了我與'$ (文件).height()')。我在獲得座標後,在屏幕外面sil>>子元素,而不用介意確切的定義。 – Pejs

回答

0

代碼將是$('.SILBLINGS_CHILD').parent().prev().prev()

測試與alert($('.SILBLINGS_CHILD').parent().prev().prev().attr('class'));

然後,您可以得到的代碼座標:$('.SILBLINGS_CHILD').parent().prev().prev().offset()

var left = $('.SILBLINGS_CHILD').offset().left - $('.SILBLINGS_CHILD').parent().prev().prev().offset().left; 
var top = $('.SILBLINGS_CHILD').offset().top - $('.SILBLINGS_CHILD').parent().prev().prev().offset().top; 

的想法是從偏移量減去「侄子」(.SILBLINGS_CHILD)的偏移.main_element

相關問題