Если divLocation уже виден, почему бы не спрятать его первым?
$("#divDocument,#divLocation").hide().slideUp("normal", function() {
$("#divSearch").slideDown("normal", doStuff());
});
EDIT
Извините, я запутался. slideUp предназначен для сокрытия элементов. Почему-то я думал, что это должно было показать им. В этом случае вы можете сделать это:
$("#divDocument,#divLocation").filter(':visible').slideUp("normal", function() {
$("#divSearch").slideDown("normal", doStuff());
});
С фильтром :visible
он будет делать slideUp
только с теми элементами, которые видны, поэтому их можно скрыть с помощью slideUp
. Я предполагаю, что это то, что вы ищете, поскольку нет смысла скрывать уже скрытый элемент. Если вы хотите на мгновение показать скрытый, а затем slideUp
его, вы можете просто переключить мой исходный ответ с hide()
на show()
и затем выполнить slideUp
.