2

我想在屏幕右下角做一个小状态栏。但是extjs设置了“top”和“left”的值,并且结果在中间的窗口中被拉伸了。

var swindow = new Ext.Window({
        width:100,
        style:'position:fixed; right:0;bottom:0;',
        baseCls:'lk-sysstate-spanel',
        shadow: false,
        closable:false,
        hideBorder: false,
        plain: true,
        items:[
            historyPanel,
            smallPanel
        ]
    });

css 导致浏览器

element.style {
    bottom: 0;
    display: block;
    left: 675px;
    position: fixed;
    right: 0;
    top: -5000px;
    visibility: visible;
    width: 98px;
    z-index: 9003;
}

使用 ExtJs 3.4

4

2 回答 2

3

您可以将侦听器添加到窗口并删除左侧/顶部样式。例子:

var swindow = new Ext.Window({
    [...]

    listeners: {
        show: function() {
            this.el.setStyle('left', '');
            this.el.setStyle('top', '');
        }
    }
});

工作样本:http: //jsfiddle.net/dnpTt/4/

于 2013-10-25T10:29:21.747 回答
1

在 ExtJS 5.0.1 中测试

var w = window.innerWidth;
var h = window.innerHeight;

var swindow = new Ext.Window({
    [...]

    listeners: {
        show: function() {
            this.setX(w -this.getWidth());
            this.setY(h -this.getHeight());
        }
    }
});
于 2016-01-09T19:56:22.187 回答