Używam this plugin do tworzenia powiększenia obrazu i galerii, ale chcę przeskalować wszystkie obrazy, aby pasowały do kontenera (za pomocą algorytmu współczynnika).Zmień rozmiar obrazu przed załadowaniem - jquery
Oto funkcja stosunek:
function scaleSize(maxW, maxH, currW, currH){
var ratio = currH/currW;
if(currW >= maxW && ratio <= 1){
currW = maxW;
currH = currW * ratio;
} else if(currH >= maxH){
currH = maxH;
currW = currH/ratio;
}
return [currW, currH];
}
A to, w jaki sposób Fotogaleria load:
var img = $('<img>').load(function(){
img.appendTo(a);
image_container.html(a);
}).attr('src', src).addClass(opts.big_image_class);
Co próbowałem:
var newSize = scaleSize(300, 320, $(".simpleLens-big-image").width(), $(".simpleLens-big-image").height());
var img = $('<img>').load(function(){
img.appendTo(a);
image_container.html(a);
}).attr('src', src).addClass(opts.big_image_class).width(newSize[0]).height(newSize[1]);
Ale scaleSize
nie działa poprawnie, ponieważ aktualna szerokość i wysokość nie jest jeszcze zdefiniowana (obraz jeszcze nie istnieje w dom) .
Dzięki za wszelkie wskazówki.
Gdzie jest twój ".simpleLens-big-image"? –