HTML 要素の動的なクロスフェードの解決策を考えています。私の問題の核心は、jQuery の .position() の奇妙な動作と、古い位置を取得した後に css の「位置」プロパティを更新することです。
私の問題を説明するために JSFiddle を作成しました: http://jsfiddle.net/svenhanssen/DDYVs/
/*
This works. I'll get a position.top from 0 to 90
*/
$("p").each(function( p ) {
var position = $(this).position();
console.log(position.top);
});
/*
This doesn't work. I'll get a position.top of 0 for all elements. Why does the css set effects the position?
*/
$("p").each(function( p ) {
var position = $(this).position();
console.log(position.top);
$(this).css({
position: "absolute"
});
});
css の「位置」プロパティを何らかの方法で変更すると、古いプロパティに影響します。誰かがその理由と可能な解決策を知っていますか?