コードの複数のインスタンスをテストしましたが、理解できない矛盾がいくつかあります。だから私はあなたが賢い人が助けることができることを願っています。
ヘッダーにこのjqueryコードがあります
function real_image_size () {
var img = document.getElementById('target');
//or however you get a handle to the IMG
var real_width = img.clientWidth;
var real_height = img.clientHeight;
$('#rw').attr('value', real_width);
$('#rh').attr('value', real_height);
}
表示された画像のサイズで更新したいこのhtml/phpコードがあります
<img width="1000px" class="crop_img" id="target" src="$image_address" />
<form action="/save_cropped_image.php" method="post" onsubmit="checkCoords();">
<input type="text" size="4" id="image_source" name="image_source" hidden="hidden" value="$image_address" />
<input id="x" name="x" />
<input id="y" name="y" />
<input id="w" name="w" />
<input id="h" name="h" />
<input id="rw" name="rw" />
<input id="rh" name="rh" />
<input type="submit" value="Lagre nytt bilde" />
</form>
ページがレンダリングされるとき、入力フィールドに表示された画像のサイズを入力するスクリプトを実行してrw
いrh
ます$target
。
私の問題は、rw
が正しく更新されているのに、rh
常に「2」に更新されていることです。ページが最初にレンダリングされたとき。
ドロップダウンボックスから別の画像を選択した場合(コードには記載されていません)。次に、スクリプトはとを更新し#image
、次に両方rw
をrh
更新し、同じ関数を使用して正しく更新されますが、 ...(image_size_update())
だけではありません。rw
</script>
<script>
$(window).ready(real_image_size());
</script>
- - - アップデート - - -
画像を読み込んだ後、関数にsetTimeoutを追加しようとしました。しかし、変更はありません...それでも間違ったrh(real_image_height)を取得します
$('#target').load(setTimeout(real_image_size(),10000));