最近在使用jQuery開發(fā)過程中偶遇到一個(gè)問題,就是遮罩層無法覆蓋父窗口。
我使用了下面的代碼來實(shí)現(xiàn)遮罩層的效果:
$(document.body).append('<div class="mask"></div>');
然后,我通過CSS來設(shè)置遮罩層的樣式:
.mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.5);
z-index: 999;
}
很顯然,通過以上代碼可以實(shí)現(xiàn)遮罩層的效果。但是,當(dāng)我點(diǎn)擊遮罩層的時(shí)候,發(fā)現(xiàn)遮罩層無法覆蓋父窗口。
經(jīng)過查找資料,我發(fā)現(xiàn)這是因?yàn)楦复翱诘膠-index值高于遮罩層的z-index值,導(dǎo)致遮罩層無法覆蓋父窗口。
解決這個(gè)問題的方法有兩種:
1. 將父窗口的z-index值設(shè)置為比遮罩層低的值。
$(document.body).css('z-index', '1');
2. 將遮罩層的z-index設(shè)置為比父窗口高的值。
.mask {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: rgba(0, 0, 0, 0.5);
z-index: 1001;
}
以上就是解決jQuery遮罩無法覆蓋父窗口的兩種方法。