gpt4 book ai didi

javascript - 元素jQuery的图像调整大小

转载 作者:太空宇宙 更新时间:2023-11-03 18:50:56 27 4
gpt4 key购买 nike

我已经成功地根据它是水平的(每行一张图片)还是垂直的(每行两张图片)自动调整每行的图库图像。

现在的问题是我希望图像可以缩放(在窗口调整大小时调整大小)但我不知道如何实现它。我应该怎么做?

这是我的代码:

var gallery = new Gallery($('#gallery_images_inner'));

function Gallery(selector){

this.add_module = function(type, image){
var container = $('<div />' , {
'class' : 'gallery_container'
}).append(image);
if(type == 'horizontal'){
var h_ar = image.attr('height') / image.attr('width');
container.css({
'width' : selector.width(),
'height' : selector.width()*h_ar
})
}
if(type == 'vertical'){
container.css({
'width' : v_width,
'height' : v_height
})
}
container.appendTo(selector);
container.children('img').fitToBox();
}
var _this = this;
var gutter = 0;
// start vars for counting on vertical images
var v_counter = 0;
var w_pxls = 0;
var h_pxls = 0;
// iterates through images looking for verticals
selector.children('img').each(function(){
if($(this).attr('width') < $(this).attr('height')){
v_counter++;
h_pxls += $(this).attr('height');
w_pxls += $(this).attr('width');
}
})
// calculates average ar for vertical images (anything outside from aspect ratio will be croped)
var h_avrg = Math.floor(h_pxls/v_counter);
var w_avrg = Math.floor(w_pxls/v_counter);
var v_ar = h_avrg/w_avrg;
var v_width = (selector.width())/2;
var v_height = v_width*v_ar;
selector.children('img').each(function(){
if(parseInt($(this).attr('width')) > parseInt($(this).attr('height'))){
_this.add_module('horizontal', $(this));
}else{
_this.add_module('vertical', $(this));
}
})
selector.isotope({
masonry: {
columnWidth: selector.width() / 2
}
});

最佳答案

对包含图像的容器使用百分比(对于它的宽度和高度)..然后也对图像的宽度和高度使用百分比(它不必是 100%,它必须是相对于其容器的百分比)

关于javascript - 元素jQuery的图像调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15007242/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com