2015-08-21 6 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

Можете ли вы продвинуть и отметить как ответ? Это поможет мне. Благодарю. –

Смежные вопросы