我可以使用相对于silbling的孩子的元素的JQuery position()吗?

时间:2014-11-16 17:18:44

标签: jquery html css dom position

基于jQuery文档,有两种方法可以返回元素的位置:offset()和position()。偏移给出了相对于窗口屏幕的位置,而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将不可见但应该保持其固定位置。)

如何实现?

1 个答案:

答案 0 :(得分: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)的偏移量