Это может быть не совсем то, что вы ищете, но довольно близко к тому, что вы просите.Я прекратил использовать UL и LI для иконок и просто использовал div и span, это можно изменить обратно, если потребуется.Основной проблемой является установка ширины на определенное значение (проценты не будут работать).
$('.social-top').hide();
$('#social-grid').mouseenter(function() {
$('.social-top').show();
$('.social-top').stop().animate({
width: 225
}, 1000);
});
$('#social-grid').mouseleave(function() {
$('.social-top').stop().animate({
width: 0
}, 1000, function() {
$('.social-top').hide();
});
});
Это должно помочь вам в этом.Я использую show / hide, чтобы решить проблему с шириной 0, а элементы встроенного блока все еще отображаются.
Пример:
http://jsfiddle.net/infiniteloops/NqrKK/13/