JQuery скрыто, равнозначно установке дисплея на none.В настоящее время это то же самое, что и:
$('#box1').css({"display":"none"});
Вместо этого попробуйте сначала установить класс css для объекта, чтобы его видимость отсутствовала.Что-то вроде:
$('#box1').css({"visibility":"hidden"});
Тогда
$('#box1').delay(300).fadeIn(500);