繁体   English   中英

调整图像大小以填充div

[英]Resize image to fill div

我具有以下功能来调整图像大小以填充其容器div,而不会使图像倾斜。 它使用css按高度填充,如果图像宽度不足以填充div,则该函数使用width填充div并将height设置为auto。 问题在于该代码仅适用于window.load,因此如果用户注意他们可以看到图像加载,则一秒钟后它会更改。 那么我将如何更改该功能以与document.ready一起使用?

function imageResize() {
  $(".square").each(function(){
    if($("img",this).width() < $(this).width()){
        $("img",this).css("height", "auto");
        $("img",this).css("width", "100%");
    }
  });
}

编辑:当前功能与document.ready一起使用的问题是如果图像很大,则在图像加载之前文档已“就绪”。 因此,我想解决此问题的方法是在图像必须加载到页面上之前,从文件中获取实际图像的长度和宽度。

在ready处理程序中调用该函数:

$(document).ready(function(){
  imageResize();
});

如果要在调整大小时使用它,请在调整大小时调用函数:

$(window).resize(function(){
  imageResize();
});

在加载处理程序中使用您的代码来获取可以正常工作的图像尺寸:

$(window).load(function(){
  imageResize();
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM