これがあなたが望むものだと思います:
デモ: http://jsfiddle.net/SO_AMK/Q6KNk/
jQuery:
var div2Pos = $("#div2").position();
$("#square").css({
position: 'absolute',
top: $("#square").position().top,
left: $("#square").position().left
});
$("#square").animate({
top: div2Pos.top
}, 1000);
HTML:
<div id="square">Lorem Ipsum...</div>
<div id="div2">Lorem Ipsum...</div>
CSS:
#square {
width: 100px;
height: 100px;
background-color: lightBlue;
position: fixed;
bottom: 0;
}
#div2 {
width: 100px;
height: 100px;
background-color: lightGreen;
position: relative;
top: 30px;
}
基本的にはの位置を取得してから現在div2
の位置に設定#square
しますが、固定位置ではなく絶対位置を使用して、アニメーションが一番上にジャンプする代わりに発生するようにします。
注:square
が相対的に配置された要素内にある場合、これは機能しません!