2015-08-21 91 views
1

我很難弄清楚這一點。我有一個孩子,父母和祖父的元素。我想知道與祖父母相關的孩子偏移位置(位置:絕對),但這是棘手的部分,父母必須與手風琴位置相對,因此當子元素摺疊時也是如此。我不能離開沒有職位的父母,相對而言,絕對的孩子不會崩潰並留在原地。從祖父母中得到子元素偏移位置

我目前能得到孩子的位置相對於父jQuery中

// simple accordion 
$('.accordion').on('click',function(){ 
    $(this).next().slideToggle(); 
}) 
// get child offset 
var childPos = $('.child').position(); 
console.log(childPos.top) // top position from granparent 

CSS

.grandparent{ 
    position:relative; 
} 
.parent{ 
    position: relative; 
    padding:20px; 
} 
.child{ 
position: absolute 
} 

HTML

<div class="grandparent"> 
    <div class="parent"> 
    <div class="accordion">accordion</div> 
    <div class="child"> 
     child content 
    </div> 
    </div> 
    <div class="parent"> 
    <div class="accordion">accordion</div> 
    <div class="child"> 
     child content 
    </div> 
    </div> 
    <div class="parent"> 
    <div class="accordion">accordion</div> 
    <div class="child"> 
     child content 
    </div> 
    </div> 
</div> 

任何幫助,請!

回答

3

如果我的理解正確,您應該能夠重複您的祖父母在祖父母的位置策略。

var childPos = $('.child').position(); 
console.log(childPos.top) // top position of child from parent 
var parentPos = $('.parent').position(); 
console.log(parentPos.top) // top position of parent from grandparent 
var childGrandparentPosTop = childPos.top + parentPos.top; 
console.log(childGrandparentPosTop); // top position of child from grandparent 
+0

謝謝你的工作! – Joxmar

+0

你可以upvote和標記爲答案?這會幫助我。謝謝。 –

相關問題