2011-10-18 8 views
2

J'ai une page html où au milieu il y a une photo.
Y at-il un moyen de réduire l'image avec javascript au cas où il est trop grand pour la résolution du moniteur actuel? Je veux dire que si un utilisateur avec une résolution de 1600 * 1200 ouvre une image de 1900 * 1200, l'image doit être réduite pour s'adapter à la fenêtre.Réduire une image si elle est trop grande pour l'écran

Je peux utiliser jquery

+0

Voulez-vous vraiment dire «défiler vers le bas», ou «réduire»? – Widor

+0

corrigé. redimensionner –

Répondre

4

Pourquoi ne pas simplement utiliser css?

.imgresize { 
    max-width: 100%; 
    max-height: 100%;   
} 
+0

Lol n'a pas pensé – dynamic

+0

Hmm je pense que cette solution a eu un problème. Si quelqu'un avec un iphone/mobile ouvre cette page, l'image sera toujours réduite à la largeur maximale de l'iphone ... hmm =/ – dynamic

+0

l'avez-vous essayé? il sera mis à l'échelle de 100% de l'élément parent. Si vous ne voulez pas le mettre à l'échelle sur un petit écran, essayez d'utiliser les requêtes média css http://www.google.com/search?q=css+media+queries – Tetaxa

1

Regardez ici: Image resize to fit screen

autre: http://jsfiddle.net/jsNDW/1/

HTML

<img src="http://placehold.it/1950x550" class="imgresize"> 

Et JQUERY

var wWidth = $(window).width(); 
var wHeight = $(window).height(); 

$('.imgresize').each(function() { 
var imgWidth = $(this).width(); 
var imgHeight = $(this).height(); 

    if(imgWidth > wWidth) 
    { 
     $(this).width(wWidth); 
    } 

    if(imgHeight > wHeight) 
    { 
     $(this).width(wHeight); 
    } 

}); 


$(window).resize(function() { 
var wWidth = $(window).width(); 
var wHeight = $(window).height(); 

$('.imgresize').each(function() { 
var imgWidth = $(this).width(); 
var imgHeight = $(this).height(); 

    if(imgWidth > wWidth) 
    { 
     $(this).width(wWidth); 
    } 

    if(imgHeight > wHeight) 
    { 
     $(this).height(wHeight); 
    } 

}); 

}); 
+0

assez agréable même si elle ne se redimensionne pas mais je pense que c'est facilement réparable – dynamic

+0

Voulez-vous que ce soit en plein écran si son plus petit que l'écran? –

Questions connexes