1

#elementB に対して #elementA を配置しようとしているだけです。半分の時間で 1 つの最高値が得られ、半分の時間で別の値が得られますが、その理由はわかりません。#elementA は次の CSS で始まります。

#elementA {
    display: block;
    opacity: 0;
    position: absolute;
    clear: both;
    margin-left: -49px;
}

次に、$(document).ready() で、一番上の値を設定してフェードインします。

var p = $('#elementB').offset();
$('#elementA').css({
    top: p.top - 2
});
$('#elementA').animate({opacity: 1}, 400);

一貫性のない結果が得られるのはなぜですか? これを行うより良い方法はありますか?

4

1 に答える 1

1

問題が見つかりました。これを $(document).ready() で実行していたので、アセットの読み込みがポジショニングに影響することを心配する必要はないと思いました。しかし、#elementA の上にある画像が、時間内に読み込まれなかったときに、それをスローしていたことが判明しました。$('other image').load() を待つと修正されます。

于 2013-02-08T00:02:27.503 に答える