Je trouve une solution plus complète qui forcera une propriété largeur est réduite correctement:
Premièrement, vous devez ajouter un identifiant à la grande image pour faire modifier la ligne de code suivante dans la fonction OnPageLoad dans le fichier jquery.galleria.js:
var _img = $(new Image()).attr('src',_src).addClass('replaced');
ajouter à afin qu'il ressemble maintenant à ce qui suit:
var _img = $(new Image()).attr('src',_src).attr('id','mainImg').addClass('replaced');
Cela ajoute maintenant un identifiant à l'image donc je t peut être ciblé.
Ensuite, dans votre fichier d'index (ou si jamais vous avez placé le code qui initie la galerie) vous modifiez maintenant le code ci-dessous:
// fade in the image & caption
if(! ($.browser.mozilla && navigator.appVersion.indexOf("Win")!=-1)) { // FF/Win fades large images terribly slow
image.css('display','none').fadeIn(1000);
}
var newHeight = 420;
var mainImage = document.getElementById('mainImg');
var imgInitHeight = mainImage.height;
var imgInitWidth = mainImage.width;
var imgScaleRatio = newHeight/imgInitHeight;
var newWidth = Math.ceil(imgInitWidth*imgScaleRatio);
image.css('height', newHeight);
image.css('width', newWidth);
caption.css('display','none').fadeIn(1000);
La newHeight variable est la hauteur que vous souhaitez le grand image à afficher à. Ensuite, vous devez cibler l'image pour obtenir sa hauteur et sa largeur AVANT qu'elle ne soit redimensionnée, ces valeurs sont respectivement stockées dans imgInitHeight et imgInitWidth. Maintenant, vu que vous connaissez les valeurs newHeight et imgInitHeight, il est possible de calculer le rapport par lequel l'image doit être mise à l'échelle pour qu'elle atteigne ses nouvelles dimensions, ceci est stocké dans la propriété imgScaleRatio. Une fois le rapport déterminé, vous pouvez maintenant calculer la nouvelle largeur de l'image et vous assurer que celle-ci est correctement mise à l'échelle. Une fois cela fait, appliquez simplement les valeurs de css à l'image et vous êtes fait! J'espère que cela aide quelqu'un.
Jon Tivy-Jones