0

ロゴの寸法を取得し、それに応じて位置を調整する必要があるプロジェクトがあります。$(document).ready私が理解していることから、ページ上のすべての要素は、またはonloadイベントの直後に使用できるようになっているはずです。また、すべてを確実に取得できるように、body の終了タグの前にスクリプトを配置しようとしました。jQuery を使用$(element).width$(element).heightて、ロゴ画像を測定します。

ただし、毎回これらの値を取得しているわけではありません。これら 2 つの値をコンソール ログに記録しています。時々、画像タグが読み込まれていると思われるゼロが表示れますが、実際の画像はまだ読み込まれています。私はオンラインで検索しているのでとても混乱しています.DOM Readyを使用するか、スクリプトタグを最後に置くと、すべての要素が準備されているはずです.

4

2 に答える 2

1

これを試して

$('#img').load(function() {
// Handler for .load() called.
});
于 2013-03-26T16:17:30.183 に答える
0

$(document).ready または onload イベントの直後に、ページ上のすべての要素を使用できる状態にする必要があります。また、すべてを確実に取得できるように、body の終了タグの前にスクリプトを配置しようとしました。

いいえ、$(document).readyイベント担当者です。本文の最後の要素としてスクリプトを埋め込むことは、DOM 構造が既に構築されていることを保証するだけです。これは、任意の要素によって参照される外部リソースが既に読み込みを完了していることを意味するものではありませ– それを保証する唯一のイベントがloadイベントです。

$(document).readyjQuery のドキュメントでは、組み合わせと「昔ながらの」ロード イベント処理 (body または window.onload の onload 属性を意味する)について明示的に警告しているため、.on('load', handler)代わりに使用する必要があります。ただし、ドキュメントでも言及されている画像に関する注意事項に注意してください。

于 2013-03-26T16:17:27.127 に答える