Image redimensionner à adapter à l'écran
J'ai créé ce code de redimensionner des photos/images pour les adapter à l'écran, compte tenu de l'espace disponible pour la barre de navigation.
Le script feux sur du chargement de l'image et sur la navigation, cliquez sur.
Quelqu'un aurait-il des suggestions à faire mieux et à assurer la compatibilité du navigateur?
HTML
$(document).ready(function(){
$("#photo").load(function(){
resize();
});
$(".navigation img").click(function(){
var imgPath = $(this).attr("src");
$("#photo").attr({ src: imgPath });
resize();
return false;
});
});
Javascript
resize = function() {
var borderVt=150; //value based on css style. bottom bar + padding of photoContain
var borderHz=40; //value based on css style photoContain padding
$("#photo").css("width", "auto").css("height", "auto"); //Remove existing CSS
$("#photo").removeAttr("width").removeAttr("height"); //Remove HTML attributes
var origSizeW = $("#photo").width();
var origSizeH = $("#photo").height();
var ratioVt=(origSizeW/origSizeH);
var ratioHz=(origSizeH/origSizeW);
var winW = $(window).width();
var winH = $(window).height();
var screenSizeW=Math.round(winW-borderHz);
var screenSizeH=Math.round(winH-borderVt);
if (origSizeW>=origSizeH){
var newHeight = Math.round(screenSizeW*ratioHz);
if (newHeight <= screenSizeH){
$("#photo").css("width", screenSizeW); //Set new width
$("#photo").css("height", newHeight);
}
else{
$("#photo").css("height", screenSizeH);
}
}
else{
$("#photo").css("height", screenSizeH); //Set new height
}
};
Vous devez vous connecter pour publier un commentaire.
Je sais que cette question est bien vieux, mais voici un solution (même si je suis sûr que l'OP fonctionne très bien aussi):
Ce plugin jQuery qui semble faire exactement ce dont vous avez besoin:
http://code.google.com/p/jquery-imagefit-plugin/
si vous effectuez sur un 100% à hauteur de 100% de la largeur de l'élément:
http://www.tutwow.com/htmlcss/quick-tip-css-100-height/
(démo: http://jsfiddle.net/nottrobin/9Pbdz/)
Essayez d'utiliser le jQuery-Document d'information plugin. Vous pourriez être en mesure de le modifier pour faire ce que vous avez besoin. Voici un exemple:
J'ai écrit un plugin!
Utilisation:
Voici comment je le fais:
Me semble bon, mais je vous propose de fixer le redimensionner la fonction jQuery Redimensionner la Fenêtre du gestionnaire d'Événement. Puis l'image s'allonge et se rétrécit avec la page.