Вы можете обернуть изображение в элемент div (или любой другой html-элемент, который, по вашему мнению, подходит, li и т. Д.), Если переполнение скрыто. Затем используйте jQuery .animate , чтобы увеличить этот div любым удобным для вас способом.
Так, например, html может быть
<div class="grower">
<img src="myimg.jpg" width="300" height="300" alt="my image">
</div>
Тогда ваш css будет выглядеть как
.grower {width:250px;height:250px;overflow:hidden;position:relative;}
Таким образом, ваше изображение по существу обрезается с помощью div, который вы затем можете увеличить на любом событии, чтобы раскрыть полный размер изображения, используя jQuery
$('.grower').mouseover(function(){
//moving the div left a bit is completely optional
//but should have the effect of growing the image from the middle.
$(this).stop().animate({"width": "300px","left":"-25px"}, 200,'easeInQuint');
}).mouseout(function(){
$(this).stop().animate({"width": "250px","left":"0px"}, 200,'easeInQuint');
});;
NB. Возможно, вы захотите добавить дополнительные css в ваши js, например, увеличенный z-index для вашего div, чтобы он мог расти по макету и т. Д.