我有一个宽度为 600 像素的 div。我想动态拉取图像。图像大小各不相同。我想做的是,如果图像大小超过 600 px,我们会将图像调整为 600 px 以适应 div。但如果图像不超过 600px,我们将保留原始图像宽度。
我怎样才能通过使用 jquery 来实现呢?谢谢。
我有一个宽度为 600 像素的 div。我想动态拉取图像。图像大小各不相同。我想做的是,如果图像大小超过 600 px,我们会将图像调整为 600 px 以适应 div。但如果图像不超过 600px,我们将保留原始图像宽度。
我怎样才能通过使用 jquery 来实现呢?谢谢。
您可以不使用任何 JavaScript 来执行此操作,方法是不给图像明确宽度(因此它将使用原始宽度)并添加以下 CSS 属性:
<img style='max-width: 600px' src='...'>
警告:在 IE 6 中不起作用。兼容性表
这将帮助您:
$('img').each(function(){
if($(this).width()>600){
$(this).width(600).css('cursor','pointer').click(function(){$(this).css('width','');});
}
});
如果您托管这些图像,您可能希望在它们到达那里时在服务器上对其进行缩放。这样您就可以节省带宽,缩短浏览器的下载时间,并且无需在客户端调整大小。
您可以使用 css 将图像的宽度设置为 100%,然后使用 jQuery 保持纵横比,如下所示:
$('#containerDiv img').width(); //gets width of image
$('#containerDiv img').height(); //gets height of image
您可以进行计算以保持纵横比,然后使用该height()
属性设置图像的新高度。