更改模态窗口extjs4后面的遮罩的不透明度

时间:2014-07-07 13:41:25

标签: extjs extjs4 extjs4.1 extjs4.2 extjs-mvc

我想更改模态窗口后面的遮罩的不透明度。我想让它变得不透明。这只是为了一个窗口。有人能告诉我怎么做吗? 我试过了

    this.getEl().setOpacity(1);
    this.mask.setStyle('opacity', 1);
    this.el.mask().setStyle('opacity',1); 

我尝试了这三个代码,但没有一个有效。

5 个答案:

答案 0 :(得分:3)

有类似的要求,使用domQuery来获取x-mask' el并添加了css来改变不透明度。

例如,窗口上的节目......

show: function(win) {
            if (this.modal) {
                var dom = Ext.dom.Query.select('.x-mask');
                var el = Ext.get(dom[0]);
                el.addCls('customWinMask'); //remove on hide
            }
}

CSS:

.customWinMask.x-mask {
        filter: alpha(opacity=50);
        opacity: .5;
        background: blue !important; 
}

工作小提琴:https://fiddle.sencha.com/#fiddle/7fu

答案 1 :(得分:1)

所以,上面的代码完全不适合我。我不得不使用以下修改,

 show: function(win) {
           if (this.modal) {
                     var dom = Ext.dom.Query.select('.x-mask');
                     for(var i=0; i<dom.length;i++){
                         Ext.get(dom[i]).setStyle('opacity',1);
                     }
           }
},


 close:  function(win) {
                 if (this.modal) {
                     var dom = Ext.dom.Query.select('.x-mask');
                     for(var i=0; i<dom.length;i++){
                         Ext.get(dom[i]).setStyle('opacity',0);
                     }
                 }
}

答案 2 :(得分:0)

user2316489,您应该将不透明度从1更改为0.5,例如:

this.getEl()setOpacity(0.5); this.el.mask()的setStyle(&#39;不透明度&#39;,0.5);

答案 3 :(得分:0)

您可以使用Ext.LoadMask的sass变量,例如:

$loadmask-opacity:0.3;
$loadmask-page-opacity:$loadmask-opacity;

ExtJs v6.0规则

答案 4 :(得分:0)

转到sass&gt;等等&gt; all.scss并输入以下代码:

.x-mask {
    opacity : 0.3
}

它在extjs 6.0中变得更加完美