2009-04-28 7 views
4

Ich brauche die Abmessungen eines Bildes in Javascript (jQuery), wenn keine Stile dafür angegeben sind (jQuery's css() gibt 0 zurück).Erhalte Bildbreite und -höhe

Vielleicht liegt es daran, dass ich das Bild mit jQuery lade, bevor ich nach seinen Dimensionen frage. Wenn dies der Fall ist, gibt es ein Ereignis zu hören, das sagt, wenn das Bild geladen wurde?

Antwort

3

Vielleicht hat sich das Bild nicht vollständig daher die Abmessungen geladen nicht ohne Ihre given.But werden Code Ich kann nicht sagen, was Sie falsch machen, aber hier ist ein Beispiel das funktionieren würde:

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)'> 
+0

Complete scheint nicht für Chrome zu arbeiten. Das hat bei mir bisher funktioniert: http://stackoverflow.com/questions/318630/get-real-image-width-height-with-javascript-in-safari-chrome – 2ni

0

Je nachdem, was Sie anstreben image.width oder image.naturalWidth (und Höhenäquivalente) width/height gibt die width/height-Attribute für das image-Tag an, naturewidth/Height gibt die Abmessungen des tatsächlichen zugrunde liegenden Bildes an.

0

Sie img's onload verwenden können, um die Dimensionen zu erhalten, sobald das Bild geladen ist:

<img src="..." onload="getDimensions(this)" /> 
1

hier ein Link ist, der, Blick auf die Demo hilft: http://docs.jquery.com/Events/load

mit jquery eine Last() Ereignis dass gefeuert, wenn ein Bild fertig geladen ist, dh:

<script type="text/javascript"> 
    $(document).ready(function() 
    { 
     $('#theImage').load(function() 
     { 
      // do the stuff here. 
     }); 
    }); 
</script> 


<img src="blah.jpg" id="theImage" /> 
0

Sie versuchen karim79 ‚s und John Boker‘ zu kombinieren s Antwort. Versuchen Sie, das Bild in das versteckte DOM zu laden, und wenn es geladen wird, können Sie versuchen, seine Breite & Höhe zu erhalten.

Verwandte Themen