0
我的问题是,我有2 <div>
s,包含相同的元素。这些元素放置在彼此之下。在将元素'top
和left
属性设置为由.offset()
提供的值,然后在此之后将position
设置为absolute
后,元素的偏移值都返回为0.为什么?获取元素偏移返回相同的值之前设置位置:绝对
$(function(){
$('[data-distance]').each(function(i,el){
var $this = $(el),
offset = $this.offset();
$this.css(offset);
$this.css('position','absolute');
});
});
body {
margin: 0;
height: 1000px;
font-family: arial;
}
h1 {
margin: 0 0 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
<div data-distance="1">
<h1>Text</h1>
<p>Assssssdddddddasdasdasdasdasdasdasdsda</p>
</div>
<div data-distance="0.5">
<h1>Text</h1>
<p>Assssssdddddddasdasdasdasdasdasdasdsda</p>
</div>
哦,我现在明白了。感谢您的澄清。第一个元素绝对定位,然后第二个元素跳起来。 – SeinopSys 2014-10-07 09:23:10
是的,抱歉,我写的很匆忙,现在我已经解决了这个问题:) – 2014-10-07 09:23:58