你可以做这样的事情,使用.height() http://api.jquery.com/height/ and .width() http://api.jquery.com/width/带函数参数:
$("img").hover(function() {
$(this).height(function(i, h) { return h * 1.2; })
.width(function(i, w) { return w * 1.2; });
}, function() {
$(this).height(function(i, h) { return h / 1.2; })
.width(function(i, w) { return w / 1.2; });
});
你可以在这里尝试一下 http://jsfiddle.net/nick_craver/ebehQ/,如果你想要一个平滑的动画,你可以存储初始高度/宽度和.animate() http://api.jquery.com/animate/, 像这样:
$("img").each(function() {
$.data(this, 'size', { width: $(this).width(), height: $(this).height() });
}).hover(function() {
$(this).stop().animate({ height: $.data(this,'size').height*1.2,
width: $.data(this,'size').width*1.2 });
}, function() {
$(this).stop().animate({ height: $.data(this,'size').height,
width: $.data(this,'size').width });
});
你可以在这里尝试一下 http://jsfiddle.net/nick_craver/qKXSg/,请务必在中运行这些选项之一$(window).load()
, and not $(document).ready()
,因为尺寸可能尚未加载。