我正在使用UI.Layout,尝试创建类似于ExtJs布局的行为:在水平窗格的关闭/打开时,应该隐藏缩放器并使用幻灯片效果重新显示。
在窗格关闭时这很容易,因为效果出现在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);
}
这里有什么问题?
答案 0 :(得分:1)
某种解决方法,但效果很好:
由于似乎无法干扰窗格大小调整器的fx队列,并且setTimeout()
无法提供任何帮助,无论事件是否触发,我都使用更陡峭的曲线避开了问题。窗格打开fx缓和。这允许窗格以相对较慢的启动打开,并且缩放器后退幻灯片显示。