Обновление
Как указано в комментарии.Вы можете использовать эту версию http://jsfiddle.net/QqGk6/ для решения вашей проблемы
Менее хакерская, но более многословная.Похоже, это распространенная проблема WebKit.
element = $('.header')[0];
var n = document.createTextNode(' ');
element.appendChild(n);
(function(){n.parentNode.removeChild(n)});
Мне показалась эта статья интересной: http://ajaxian.com/archives/forcing-a-ui-redraw-from-javascript
Вы также можете попробовать метод add / removeClass.*
Похоже, они не хотят перекрашивать ваш .header .. Возможно, немного хакерский, но вы можете проверить это с помощью
if($('.sidebar').hasClass('closed')) {
$('.sidebar').animate({ width : 'show'});
$('.header').append(" ");
$('.body').animate({ marginLeft : 600});
$('.sidebar').removeClass('closed');
} else {
$('.sidebar').animate({ width : 'hide'});
$('.body').animate({ marginLeft : 300});
$('.sidebar').addClass('closed');
}
Надеюсь, это поможет вам найти проблему.