slideToggle анимирует высоту рассматриваемого элемента отдельно от видимости. Не уверен, как именно вы использовали CSS позицию, чтобы показать / скрыть ваши панели. Исходя из этого, вы должны создать собственную анимацию, используя функцию animate . Другим быстрым способом может быть
Для отображения элемента:
Скрыть элемент (используя jquery hide ())
Примените свой класс, чтобы показать элемент
(т.е. отрегулировать его положение)
Теперь примените slideDown
Для сокрытия контента:
Apply slideUp - используйте функцию обратного вызова для выполнения шагов 2 и 3
Примените свой класс, чтобы скрыть элемент
(т.е. отрегулировать его положение за пределами окна)
Показать элемент (используя jquery show ())
Редактировать : Иллюстративный код приведен ниже (при условии, что «скрытые» классы будут выполнять позиционирование CSS, чтобы скрыть элемент):
function customSlideToggle(e)
{
var show = e.hasClass('hidden');
if (show) {
e.hide();
e.removeClass('hidden')
e.slideDown('slow');
}
else
{
e.slideUp('slow', function() {
e.addclass('hidden');
e.show();
});
}
}