Объедините две анимации вместе - hide, который изменяет высоту и ширину до 0, и анимирует изменение marginLeft и marginRight до желаемого значения, или, возможно, создайте совершенно новую анимацию, например.
Пример первый :
HTML:
<img id='book' src="http://media.thelogomix.com/preset_9/stack.jpg" />
Javascript:
$('#book').toggle(function(){
$(this).animate({
height: '100',
marginLeft: '+=300',
marginTop: '+=300',
}, 500, function() {
});
}, function(){
$(this).animate({
height: '400',
marginLeft: '-=300',
marginTop: '-=300',
}, 500, function() {
});
});
CSS:
#book {
position: absolute;
}
Другой пример