调整浏览器大小后,Ext Window 未居中

Ext Window is not coming in center after browser resizing

我有一个 window 在调整浏览器大小后没有居中。当我调整浏览器大小时 window 的一半消失了

var Win,
    ViewPort = Ext.getBody(),
    winWidth = ViewPort.getWidth(),
    winHeight = ViewPort.getHeight();
Win = new Ext.IframeWindow({
                        id: 'H1',
                        modal: true,
                        resizable: true,
                        title: 'H1',
                        closable: true,
                        constrain : true,
                    });
    Win.width = (winWidth / 100) * 90,
    Win.height = (winHeight / 100) * 90,

另外,当我按一定百分比给出宽度和高度时,例如

Win.width = '80%',
Win.height = '90%',

在这种情况下一切顺利。但我不想因为 window.

上的数据和布局调整

看看anchorTo方法。这应该有效:

win.anchorTo(Ext.getBody(), win.defaultAlign);

您可以尝试以下代码片段:-

  1. 通过使用window id:

    Ext.getBody().el.dom.onresize = function() { if(Ext.getCmp('your_window_id')) { Ext.getCmp('your_window_id').center(); } }

  2. 通过使用window itemId:

    Ext.getBody().el.dom.onresize = function() { if(Ext.ComponentQuery.query('#your_window_id')[0]) { Ext.ComponentQuery.query('#your_window_id')[0].center(); } }

希望对您有所帮助:)

在这种情况下,您需要获得调整大小的浏览器的新视口(根据您的代码),然后您必须设置新的宽度和高度才能获胜。

这是您可以使用的方法

window.onresize=function(obj){
    var viewport =  Ext.getBody();
    var H1Window = Ext.getCmp('H1');
    var H1WindowWidth = viewport.getWidth();
    var H1WindowHeight = viewport.getHeight();
    if(H1Window){
        H1Window.setWidth((bioMarkerWindowWidth / 100) * 90);
        H1Window.setHeight((bioMarkerWindowHeight / 100) * 90);
    }
}