ExtJS Panel始终“在前面”/始终“在顶部”

时间:2012-07-16 14:52:47

标签: javascript extjs extjs4 extjs4.1

场景描述:我有一个边框布局,其中包含一对多窗口的ExtJS容器和一个面板(充当任务栏)。我希望任务栏始终位于顶部。如果一个窗口活动并因此在前面,则调用toFront不会按预期将其放在前面。

保留在前面的ExtJS Windows位于Border layoutcenter区域内,而充当任务栏的面板位于south区域内,如下所示:

items: [
        { 
            xtype: 'maincontainer', id:'maincontainer',
            region : 'center'
        },
        {
            xtype: 'launchpanel', id:'launchpanel', 
            region: 'south',
            collapsible : true,
        }        
],

其中maincontainerlaunchpanel分别扩展Ext.container.ContainerExt.panel.Panel。此代码位于主容器内,这是ExtJS MVC应用程序Viewport中唯一的项目。

如何让launchpanel始终位于最前面?

1 个答案:

答案 0 :(得分:1)

根据我在此期间阅读的内容,在前面中的内容由CSS z-index属性决定。

然后我找到了关于如何为面板设置z-index的answer。因此,每次通过在控制器中包含以下代码段来呈现Panel时,我都会为它设置z-index:

'launchpanel': {
    expand: function(panel) { 
        panel.getEl().setStyle('z-index','80000');
    },
...

不过,如果有人有更好的方法做到,请分享!