3

我希望能够增加(放大)和减少(缩小)图像并保持纵横比。

我创建了一个简单的示例,但不知道如何保持纵横比。

减少时是否也可以设置最小尺寸?

谢谢

HTML

<div id="image-container">
     <img src="Image.jpg" alt=""/>
</div>
<div id="image-controls">
     <input id="zoom-in" value="+" type="submit" />
     <input id="zoom-out" value="-" type="submit" />
</div>

jQuery

$(document).ready(function() {

var img = $('#image-container img');
var zoomWidthIncrement = img.width() * 1/3;
var zoomHeightIncrement = img.height() * 1/3;

$("#zoom-in").click(function (e){
    img.css({width: img.width() + zoomWidthIncrement, height: img.height() + zoomHeightIncrement});
e.preventDefault();
});

$("#zoom-out").click(function (e){
    img.css({width: img.width(function(i, w) { return w - zoomWidthIncrement; }), height: img.height(function(i, w) { return w - zoomWidthIncrement; })
});
e.preventDefault();
});
});
4

1 回答 1

1

只需更改宽度或高度,而不是两者。浏览器会自动按比例缩放图像。

jsFiddle 示例

于 2012-04-30T02:45:02.540 回答