2016-07-18 6 views
3

<window><img>のサイズを取得しようとしていますが、そのコンテナの幅と高さを確認しています。コンテンツの読み込み後にdivの高さを取得する方法は?

私は​​を使用して<img>がロードされるまで待機します。

pageload上のサイズは、私が唯一のサイズ変更上の正しい高さを取得し、まだ0

です。

ここで何が間違っていますか?

EDIT:正しいサイズを取得するには、私は.contents()

$(document).ready(function(){ 
    $('img').load(function(){ 
     function size(){ 
      var height = $('#size').contents()height(); 
      var width = $('#size').contents().width(); 
      $('#size').find('p.size').remove(); 
      $('#size').append('<p class="size">' + height + '-' + width + '</p>'); 
     }; 
     $(window).load(size); 
     $(window).resize(size); 
    }); 
}); 

答えて

3

を追加しましたあなたは、関数を定義しますが、それを

場所size();

$(window).resize(size);後EDIT呼び出さない:と全体のコードをいくつかの改善点

$(document).ready(function(){ 
    function size(){ 
     var height = $('#size').height(); 
     var width = $('#size').width(); 
     $('#size').find('p.size').remove(); 
     $('#size').append('<p class="size">' + height + '-' + width + '</p>'); 
    } 

    $(window).load(size); 
    $(window).resize(size); 
    $('img').load(size); 
}); 
+0

gehts i nvoked ... $(ウィンドウ).load(サイズ); – Gregor

+0

@ Gregorしかし、これらのイベントは両方とも、AJAXリクエストが完了する前に起動します。また、コールバックで関数をコールバックする必要があります。 –

+0

はい、指定したとおりにウィンドウのサイズを変更します。ロード後に呼び出す場合は、上にコードを入れてください。 – pwolaq

関連する問題