ホームページ > ウェブフロントエンド > jsチュートリアル > Jqueryのheight()とwidth()を使用して動的に挿入されるIMG tags_jqueryの幅と高さを計算する問題について

Jqueryのheight()とwidth()を使用して動的に挿入されるIMG tags_jqueryの幅と高さを計算する問題について

WBOY
リリース: 2016-05-16 18:14:14
オリジナル
1583 人が閲覧しました

まず現象を見てみましょう。

コードをコピー コードは次のとおりです。

< div id="cc ">

<script> <br>$(document).ready(function() { <br>$("#cc").append("< div id='aa ' style='width:200px;height:200px;' /></div>"); <br>alert($("#aa").width()); <br> }); <br></script>

結果は次のとおりです: 200
すべてのブラウザで正しい結果が得られます

挿入された要素を IMG
コードをコピーします コードは次のとおりです:


< ;script>
$(document).ready(function() {
$("#cc").append("");
alert($("#aa").width());
});


(注: image1.jpg の実際の幅は 693 です)

結果は次のようになります:
Opera:34
Firefox:0
IE :28
Chrome:0
Safari:0

F5 で更新すると、結果は次のようになります:
Firefox:693
IE:693
Opera:693
Chrome :0
Safari:0
Safari と Chrome は常に 0 です。

画像が読み込まれていない、またはレンダリングされていないときに計算された画像の幅と高さが間違っていることを理解する必要があります。更新後にキャッシュがあるはずなので、結果は正しいのですが、なぜ Chrome

と Safari は常に 0 ですか?また、IE や OPERA では、実際には最初にエラー値が計算されます。
次のように変更します:
コードをコピーします コードは次のとおりです:


<script> <br>$(document).ready(function() { <br>$("#cc").append( " <img id='aa' src='http://www.jb51.net/images/logo.gif' />"); <br>window.setTimeout(function(){alert($(") # aa").width()); },100); <br>}); <br></script>

この問題を解決したことがありますか、またはこの問題について詳しく知りたいですかBig Bird をご存知の方、アドバイスをお願いします。
コードをコピーします。 コードは次のとおりです。 🎜>
$( document).ready(function() {
$("#cc").append("");
$(" #aa").load(function(){
alert($("#aa").width()
}).attr("src", "http://www.jb51.net/画像/logo.gif") ;
});

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート