2012-04-10 8 views
0

Ich muss img Breite abhängig von img Höhe ändern. Ich habe die jQuery-Eigenschaft height verwendet, funktioniert aber nicht. Bitte beachten Sie meine Funktion unten.Wie ändere ich eine Img-Breite in Abhängigkeit von der Höhe img

$(function imagesSizer(){ 
    var img = document.getElementsByClassName('.offer_img'); 
    if ($('.offer_img').height() < 210) { 
     $('.offer_img').css('width','360px') 
    } 
}); 
+3

Bitte definieren Sie "funktioniert nicht." Was erwartest du zu passieren, was passiert wirklich und was hast du versucht, es zu beheben? –

+0

Ich habe Bild mit 1200px Breite, ich kann diese Größe nicht ändern, aber ich muss diese img zu 310x210 Box passen. Aber wenn ein Bild, das ich laden will, weniger als 210 Höhe hat, muss ich die Größe ändern. – Lukas

+0

Vielen Dank für Ihre Antwort. Du hast jetzt geantwortet: "Was erwartest du zu passieren?" Kannst du uns mit den restlichen Teilen helfen? Was passiert wirklich? Was hast du versucht, es zu beheben? –

Antwort

5

sollten Sie versuchen,

//Wait until the DOM is ready 
$(function(){ 
    //get all images and iterate over them 
    $('.offer_img').each(function(){; 
     //if the height of this img is < 210 
     if ($(this).height() < 210) { 
      //set the width to 360 
      $(this).width(360); 
     } 
    }); 
}); 
0

ändern

var img = document.getElementsByClassName('.offer_img'); 

zu

var img = document.getElementsByClassName('offer_img'); 

https://developer.mozilla.org/en/DOM/document.getElementsByClassName

+0

Während Sie richtig sind, hat diese Zeile absolut keine Relevanz für den Rest des Codes und sollte nur vollständig entfernt werden. –

+0

Stimmt, wollte nur darauf hinweisen :-) – Johan

0

Für ein einzelnes Element

$(function(){ 
    if ($('.offer_img')[0].height() < 210) 
     $('.offer_img').width(360); 
}); 
Verwandte Themen