Erhalten Sie die volle Bildgröße in Javascript / jquery

8

Ich habe ein Bild auf der Seite, das so skaliert wurde, dass es in ein div, zB 400x300 passt. Wie kann ich die volle Größe des Bildes (~ 4000x3000) in jQuery bekommen? .width () und .height () scheinen nur die aktuelle Größe des Bildes zurückzugeben.

    
emc 09.03.2012, 09:36
quelle

4 Antworten

21

Bilder haben naturalWidth und naturalHeight -Eigenschaften, die die tatsächliche, nicht modifizierte Breite und Höhe des Bildes enthalten, d. h. die tatsächlichen Abmessungen des Bildes, nicht das, was CSS dafür festgelegt hat.

Man müsste trotzdem auf das Laden des Bildes warten

%Vor%

Eine andere Option wäre, ein neues Bild mit der gleichen Datei wie die Quelle zu erstellen und die Dimensionen daraus abzurufen, solange es nicht zum DOM hinzugefügt wird, nicht externe Stile beeinflussen dies.

%Vor%

FIDDLE

    
adeneo 09.03.2012, 09:49
quelle
4

Sie können das Bild klonen, die Attribute Höhe und Breite entfernen, es an den Körper anhängen und die Breite und Größe vor dem Entfernen erhalten.

jsFiddle Demo ist hier: Ссылка

Code ist:

%Vor%     
GregL 09.03.2012 09:46
quelle
1

Sie können dies mit einem Image -Objekt tun, das dieselbe Quelldatei enthält wie:

%Vor%     
m90 09.03.2012 09:39
quelle
-2

Versuchen Sie Folgendes:

var pic = $ ("img")

// muss diese entfernen, wenn img-element Breite und Höhe eingestellt hat pic.removeAttr ("Breite"); pic.removeAttr ("Höhe");

var pic_real_width = pic.width (); var pic_real_height = pic.height ();

    
Java 09.03.2012 09:39
quelle

Tags und Links