3

jqueryサイクルプラグインで画像オブジェクトの幅属性を取得する際に問題が発生しました

$(function() {

    $('#image').cycle({
        fx:     'fade',
        speed:  'slow',
        timeoutFn: calculateTimeout,
        width: 'auto',
        containerResize:true,
        slideResize: false,
        before:onBefore,
        after:onAfter
    });
});
function onAfter() {

    alert($(this).width()); 
}

2番目から最後までのすべての画像に正しい幅を与えていますが、最初の画像には0を与えています(最初の画像は550 * 380です)。誰かが私に理由を説明できますか?

4

1 に答える 1

0

まだ読み込まれていない画像のサイズを取得しようとしている可能性があります。loadこのコードを、イベントではなくjquery イベントに添付してみてくださいready

jquery のドキュメントによると、loadイベントは画像が読み込まれるまで待機readyし、DOM が構築されるとすぐに発生します。

参照: http://api.jquery.com/ready/

于 2012-10-19T13:33:08.507 に答える