我已经测试了我的代码的多个实例,但有一些我无法弄清楚的不一致之处。所以希望各位聪明人能帮忙。
我在标题中有这个 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));