我有一个窗口,在浏览器调整大小后没有进入中心。当我调整浏览器的大小时,窗口的一半会消失
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 :(得分:4)
您可以尝试以下代码段: -
使用窗口ID:
Ext.getBody().el.dom.onresize = function() {
if(Ext.getCmp('your_window_id')) {
Ext.getCmp('your_window_id').center();
}
}
使用window itemId:
Ext.getBody().el.dom.onresize = function() {
if(Ext.ComponentQuery.query('#your_window_id')[0]) {
Ext.ComponentQuery.query('#your_window_id')[0].center();
}
}
希望这可以帮助你:)
答案 1 :(得分:2)
在这种情况下,你需要获得调整大小的浏览器的新视口(根据你的代码),然后你必须为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);
}
}
答案 2 :(得分:-1)
使用anchorTo方法取一个looke。这应该有效:
win.anchorTo(Ext.getBody(), win.defaultAlign);