2

シナリオの説明: 1 対多のウィンドウとパネル (タスクバーとして機能) を含む ExtJS コンテナーを使用したボーダー レイアウトがあります。タスクバーを常に一番上にしたい。Window がアクティブであり、結果として frontにある場合、 toFrontを呼び出しても期待どおりに前面に配置されません。

手前に残るExtJSウィンドウはBorder レイアウトcenterの領域内にありますが、タスクバーとして機能するパネルは次のように領域内にあります。south

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

どこmaincontainerlaunchpanel拡張Ext.container.Containerし、Ext.panel.Panelそれぞれ。このコードは、ExtJS MVC アプリケーションのViewport.

launchpanelを常に最前面/最上位にするにはどうすればよいですか?

4

1 に答える 1

1

その間に私が読んだことから、前面に表示されるものは CSS z-indexプロパティによって決定されます。

次に、パネルの z-index を設定する方法に関するこの回答を見つけました。したがって、コントローラーに次のスニペットを含めることで、パネルがレンダリングされるたびに、パネルの z-index を設定します。

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

それでも、誰かが上記を行うためのより良い方法を持っている場合は、共有してください!

于 2012-07-16T21:44:11.200 に答える