Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调整浏览器大小后,Ext窗口未进入中心_Javascript_Iframe_Extjs_Extjs6 Classic - Fatal编程技术网

Javascript 调整浏览器大小后,Ext窗口未进入中心

Javascript 调整浏览器大小后,Ext窗口未进入中心,javascript,iframe,extjs,extjs6-classic,Javascript,Iframe,Extjs,Extjs6 Classic,我有一个窗口,它在浏览器调整大小后不会进入中心。当我调整浏览器大小时,窗口的一半消失了 var Win, ViewPort = Ext.getBody(), winWidth = ViewPort.getWidth(), winHeight = ViewPort.getHeight(); Win = new Ext.IframeWindow({ id: 'H1', modal:

我有一个窗口,它在浏览器调整大小后不会进入中心。当我调整浏览器大小时,窗口的一半消失了

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%',
在这种情况下,一切都会好起来的。但我不想要,因为数据和布局调整在窗口上。

看看这个方法。这应该起作用:

win.anchorTo(Ext.getBody(), win.defaultAlign);
看看这个方法。这应该起作用:

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

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

  • 通过使用窗口id:

    Ext.getBody().el.dom.onresize=function(){
    if(Ext.getCmp('your\u window\u id')){
    Ext.getCmp('your_window_id').center();
    }
    }

  • 通过使用窗口项ID:

    Ext.getBody().el.dom.onresize=function(){
    if(Ext.ComponentQuery.query('#您的_窗口_id')[0]){
    Ext.ComponentQuery.query('#您的_窗口_id')[0].center();
    }
    }


  • 希望这对您有所帮助:)

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

  • 通过使用窗口id:

    Ext.getBody().el.dom.onresize=function(){
    if(Ext.getCmp('your\u window\u id')){
    Ext.getCmp('your_window_id').center();
    }
    }

  • 通过使用窗口项ID:

    Ext.getBody().el.dom.onresize=function(){
    if(Ext.ComponentQuery.query('#您的_窗口_id')[0]){
    Ext.ComponentQuery.query('#您的_窗口_id')[0].center();
    }
    }


  • 希望这对您有所帮助:)

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

    这是你可以使用的方法

    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);
        }
    }
    

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

    这是你可以使用的方法

    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);
        }
    }
    

    这是在实际应用程序下方创建窗口。理想情况下,窗口应该在应用程序的顶部打开。似乎有效。这是在实际应用程序下方创建窗口。理想情况下,窗口应该在应用程序的顶部打开。似乎有效..根据我的理解,您要求在完全调整浏览器大小时调整win的大小是的,我希望在浏览器大小时调整中间窗口的大小。根据我的理解,您要求在完全调整浏览器大小时调整win的大小是的,我希望在浏览器大小时调整中间窗口的大小。