2017-01-06 3 views
1

У меня есть окно, которое не входит в центр после изменения размера браузера. Когда я изменить размеры браузера половину окна получать исчезаютВнешнее окно не входит в центр после изменения размера браузера

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%', 

В этом случае приходит штраф. Но я не хочу из-за обработки данных и компоновки в окне.

+0

Как в моем понимании вы спрашиваете, чтобы изменить размер выигрыша на полный размер браузера – UDID

+0

Да, я хочу окно в центре на браузере изменение размеров. – David

ответ

2

В этом случае вам нужно получить новое окно просмотра (в соответствии с вашим кодом) в измененном браузере, а затем вы должны установить новую ширину и высоту для победы.

Вот метод, который вы можете использовать

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

Взгляните на метод anchorTo. Это должно работать:

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

Это окно создается под фактическим приложением. В идеале окно должно открываться поверх приложения – David

+0

Проверьте это [скрипка] (https://fiddle.sencha.com/#view/editor&fiddle/1nor). Кажется, нужно работать. – scebotari66

+0

Я исправил свой ответ! – scebotari66

4

Вы можете попробовать ниже фрагмент кода: -

  1. С помощью ID:

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

  2. С помощью окна Itemid:

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

Надеется, что это поможет вам :)

Смежные вопросы