jqueryui.Layout:如何延迟打开窗格

jqueryui.Layout:如何延迟打开窗格,jquery,jquery-ui,javascript-events,jquery-layout,Jquery,Jquery Ui,Javascript Events,Jquery Layout,我正在使用UI.Layout,试图创建一个类似于ExtJs布局的行为:在水平窗格关闭/打开时,大小调整器应该隐藏,并以幻灯片效果重新显示 这在窗格关闭时很容易,因为效果出现在onclose事件之后,但是我在窗格打开时应用相同的行为时遇到了严重的困难 由于无论大小调整器上应用了何种效果,onopen的事件都会触发,因此我无法延迟窗格打开,直到大小调整器幻灯片完成 以下是相关代码: outerLayout=$(“#外部布局”).layout({ 西:{ // ... onclose\u start:

我正在使用UI.Layout,试图创建一个类似于ExtJs布局的行为:在水平窗格关闭/打开时,大小调整器应该隐藏,并以幻灯片效果重新显示

这在窗格关闭时很容易,因为效果出现在
onclose
事件之后,但是我在窗格打开时应用相同的行为时遇到了严重的困难

由于无论大小调整器上应用了何种效果,
onopen
的事件都会触发,因此我无法延迟窗格打开,直到大小调整器幻灯片完成

以下是相关代码:

outerLayout=$(“#外部布局”).layout({
西:{
// ...
onclose\u start:function(){
hideResizer(“西部”);
},
onclose\u end:function(){
styleResizer(“西”);
showResizer(“西部”);
animateResizerOnClose(“西”);
},
onopen_开始:动画打开
}
// ...
});
函数animateWestResizerOnOpen(){
$(this).parent().delay(1400).queue(function()函数){
$(“#外部布局”).layout().open('west');
}).隐藏('幻灯片',300);
}

这里出了什么问题?

有点像是一种解决办法,但效果很好:

由于似乎没有办法干扰窗格大小调整器的fx队列,而且无论事件是否触发,
setTimeout()
都不会提供任何帮助,因此我使用更陡峭的窗格打开fx队列曲线来回避此问题。这允许窗格以相对较慢的启动速度打开,并显示resizer back幻灯片