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