Спасибо за варианты, все работает )
Видимо время отрисовки эффекта hide не учитывается при обработке.
o.queue(function (){$("#div1").hide('slow');});
o.dequeue();
o.queue(function (){$("#div2").slideToggle('slow');});
o.dequeue();
даже при таком варианте div2 появляется до того, как полностью исчезает div1