1. extjs4 彈出window後只遮罩其父容器
{
xtype: 'button',
margin:'0 0 0 5',
text: '新建',
iconCls: 'add',
handler:function(){
Ext.getBody().mask();//這個地方可以獲取panel1或則是panel2的id來實現遮罩,然後在用window.on來處理解除遮罩
var win_add = Ext.create('typenewWindow',{});
win_add.show(this, function() {
});
win_add.on('close',function(){
Ext.getBody().unmask();
});
}
}
2. ExtJs怎麼改變遮罩的顏色
寫一個隱藏DIV,控制DIV覆蓋整個頁面
代碼可以版參考:權
#shadowDiv {
display: none;
width: 100%;
height: 100%;
position: absolute;
top: 0px : left : 0px;
background-color: #FFF;
filter: alpha(opacity = 70);
opacity: 0.7;
z-index: 65534
}
function test(){
var d = document.createElement("DIV");
d.id = "shadowDiv";
document.body.insertBefore(d, document.body.firstChild);
d.style.display='block';
d.style.height=document.body.scrollHeight;
}
3. 網頁彈出一個div層 後面出現一個半透明遮罩層 這是怎麼實現的
var p=document.createElement("DIV");
p.id="MyAlertBoxMasker";
p.style.position="absolute";
p.style.width=document.body.scrollWidth;
p.style.height=document.documentElement.offsetHeight;
p.style.zIndex='998';
p.style.top='0';
p.style.left='0';
p.style.backgroundColor="gray";
p.style.opacity='0.5';
p.style.filter="alpha(opacity=80)";
//內陪襪容層
var p1=document.createElement("DIV");
var top=parseInt(parseInt(document.body.scrollHeight)*0.25)+document.body.scrollTop;
p1.id="MyAlertBox";
p1.style.position="absolute";
var left=document.documentElement.offsetHeight/2;
var left=0;
p1.style.zIndex='999';
p1.style.top=top+'px';
p1.style.left=left+'粗孝px';
p1.innerHTML="";//這里是浮動層的具體岩亂稿HTML內容
document.body.appendChild(p);
document.body.appendChild(p1);
//上面就是出現的代碼。-----------
//下面代碼是關閉的
document.body.removeChild(document.getElementById('MyAlertBoxMasker'));
document.body.removeChild(document.getElementById('MyAlertBox'));
4. extjs中為什麼數據沒有處理完遮罩就消失了
遮罩的原理是這樣的,余鄭一般遮罩都是在請求後台的時候才用,而當此告請求後進入回調函數了,也就是你的數據返回到了森毀明前台,說明請求返回成功了,那麼遮罩就消失了,至於你的數據通過extjs其他組件顯示這個時間是不會遮罩的
5. extjs grid載入數據的數據的時候 如何將grid自帶的遮罩層取得
loadmask:false 應該是可行的吧,你用的 ext 什麼版本?
如果實在不行,介紹個方法給你專
store.removeAll();
varrr=[]
for(vari=0;i<res.pageNum;i++){
if(countX<n1+i)break;
rr[i]=store2.getAt(n1+i-1)
}
store.add(rr)
store是grid的數據,而store2是我用屬來寄存的,這是用來實現前台分頁寫的。
由於store2沒有綁定到grid上,所以在讀取store2時可以用自己的遮罩層
6. Extjs 在使用fadeOut動畫效果之後,會留出一塊深灰色的塊,怎麼去掉啊
試試用容器的 doLayout(); 方法刷新一下頁面.
7. extjs4 彈出window後只遮罩其父容器
你配置panel1加一個配置項:maskDiabled:true //在該panel被設置為diabled時啟用遮罩效果
然後在你想專panel1被遮罩時屬調用panel1.setDisabled(true)
8. extjs的alert的蒙版效果的原理到底是什麼啊有誰能從從js,css層面上解釋一下他的實現原理嗎 我用fireb
你說的是不是常見的那種 彈出一個半透明遮罩層,同時不能操作頁面相關對象,只能操作在遮罩層以上的內容?
實際這個效果很簡單,半透明遮罩層(是不是半透明無所謂)是實現了和文檔document同寬同高,但是css的z-index屬性要大於普通內容的一個空白div,這個div做了半透明效果,隔離了所有事件,你滑鼠在網頁上面的點擊,移動,拽托等操作只作用於這個div,因此原網頁的所有事件均失效.
在遮罩層上一般還會有一個可操作域(div2),這個同理,這個div2的z-index要大於遮罩層的z-index,從而他會在遮罩層以上,而能實現其操作.
以上是原理,那麼實現起來要分一些幾個步驟:
1,遮罩層(可以事先就進行半透明處理和document等寬等高處理,這個需要通過js編寫)和可操作域(div2) 的display屬性設置為none.處於隱藏狀態.
2,當網頁需要激活遮罩事件的時候,js將遮罩層和可操作域的display設置為block.處於顯示狀態,當在可操作域關閉事件觸發的時候,同時將遮罩和可操作域隱藏.
需要注意的是,遮罩層最好是在body的根目錄下,並position設置為絕對定位,這樣布局比較方便