我需要在没有为其指定样式时,在javascript(jQuery)中获取图像的尺寸(jQuery的css()返回0)。
也许是因为我刚刚使用jQuery加载了图像,然后再请求其尺寸。如果是这种情况,是否有任何事件可以监听告诉我们图像何时已加载?
也许是因为我刚刚使用jQuery加载了图像,然后再请求其尺寸。如果是这种情况,是否有任何事件可以监听告诉我们图像何时已加载?
function LoadImage(isrc) {
var oImg = new Image();
oImg.src = isrc;
if (oImg.complete) {
window.alert(oImg.src + ' ' + oImg.width + ' x ' + oImg.height);
}
else {
window.setTimeout('iLoad(imgsrc)', 1000);
}
}
<body onLoad='LoadImage(imgsrc)'>
这里有一个有用的链接,看一下演示:http://docs.jquery.com/Events/load
使用jQuery,当图像加载完成时会触发load()事件,例如:
<script type="text/javascript">
$(document).ready(function()
{
$('#theImage').load(function()
{
// do the stuff here.
});
});
</script>
<img src="blah.jpg" id="theImage" />
根据您需要的是image.width还是image.naturalWidth(以及高度等效项),width/height提供图像标记上的宽度/高度属性,naturalWidth/Height提供实际底层图像的尺寸。