2

この方法で attr を使用して src を変更した後、新しい画像を div の垂直方向の中央に配置しようとしています:

$("#image").attr("src",newsrc);
var height = $("#image").height();
var newmargin = (divsize - height)/2;
$("#image").css=("margin-top",newmargin);

常に前の画像の高さを使用します。それはタイミングの問題ですか?(前の画像)の高さを時期尚早に取得するのを防ぐために、新しい高さを何かにバインドする必要がありますか?

すべての画像は、ページの読み込み時にプリロードされます...

4

1 に答える 1

1

(前の画像)の高さを時期尚早に取得するのを防ぐために、新しい高さを何かにバインドする必要がありますか?

ちょっと。loadイベントが機能するはずです。

$("#image").attr("src",newsrc);
$('#image').load(
    function() {
        var height = $("#image").height();
        // ...
    }
);

http://api.jquery.com/load-event/

于 2010-07-31T06:34:59.890 に答える