我已经设置了一个小型演示,当单击它时会自动调整图像大小以适应其容器 div。
它的工作原理是获取图像的大小,然后将其除以框的大小,并在相应地根据宽度或高度调整图像大小之前计算出哪个比率更高。最好看一下代码,看看它是如何工作的。
唯一的问题是它相当有问题。它确实有效,但不是根据图像的宽度调整大小,而是根据浏览器宽度计算它,但仍然在调整大小时传递正确的值。
在下面的两个链接中查看它,并尝试调整浏览器窗口的大小以查看故障。我已经划掉了这个overflow:hidden;
属性,所以你可以在 div 之外看到图像的尺寸。
看看这里的代码:http: //jsfiddle.net/sambeckhamdesign/NVAGG/11/
在此处查看全屏结果:http: //jsfiddle.net/sambeckhamdesign/NVAGG/11/embedded/result/
或在这里阅读 jQuery
$('img').click(function() {
function wr(){
var imageWidth =
$(this).width()/250;
return imageWidth;
}
function hr(){
var imageHeight =
$(this).height()/200;
return imageHeight;
}
function nh(){
var newHeight =
$(this).height()/hr();
return newHeight;
}
function nw(){
var newWidth =
$(this).width()/wr();
return newWidth;
}
if (wr() > hr()){
$(this).css('width', nw() + 'px');
}else{
$(this).css('height', nh() + 'px');
}
});