Я использую UI.Layout, пытаясь создать поведение, похожее на макет ExtJ: при закрытии / открытии горизонтальных панелей изменяемый размер должен быть скрыт и вновь отображаться с эффектом слайда.
Это было легко при закрытии панели, так как эффект появляется после события onclose
, но у меня серьезные трудности с применением того же поведения при открытии панели.
Поскольку событие для onopen
срабатывает независимо от эффекта, применяемого к ресайзеру, я не нахожу способа отложить открытие панели до тех пор, пока слайд реазера не будет завершен.
Вот соответствующий код:
outerLayout = $('#outer-layout').layout({
west : {
// ...
onclose_start : function() {
hideResizer('west');
},
onclose_end : function() {
styleResizer('west');
showResizer('west');
animateResizerOnClose('west');
},
onopen_start : animateWestResizerOnOpen
}
// ...
});
function animateWestResizerOnOpen() {
$(this).parent().delay(1400).queue(function() {
$('#outer-layout').layout().open('west');
}).hide('slide', 300);
}
Что здесь не так?