I have changed in JS & CSS:
JS:
t.parent().next().eq(0).show(2000,'easeOutBounce');
CSS:
.moreInfo
{
display:block;
background-color: #eee;
border: 1px solid Yellow;
width:300px;
}
here is the updated jsFiddle:
Problem was with width only. After first animation it acquires 300px width so there was no more scope for the animation second time. If you want to play only on width you should reset the width on mouseleave event.
on mouseover:
t.parent().next().animate({ width: '+=300px' }, 2000, 'easeOutBounce');
on mouseleve:
t.parent().next().animate({ width: '-=300px' }, 2000, 'easeOutBounce',function(){$(this).hide()})
;
here is the updated jsFiddle for this: