[英]Get image width and height
當沒有指定樣式時,我需要在 javascript (jQuery) 中獲取圖像的尺寸(jQuery 的 css() 返回 0)。
也許是因為我在詢問其尺寸之前正在使用 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 給出了實際底層圖像的尺寸。
加載圖像后,您可以使用img 的 onload獲取尺寸:
<img src="..." onload="getDimensions(this)" />
您可以嘗試結合karim79和John Boker的答案。 嘗試將圖像預加載到隱藏的 DOM 中,當它加載時,您可以嘗試獲取其寬度和高度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.