首頁  >  文章  >  web前端  >  純js實作遮罩層效果原理分析_javascript技巧

純js實作遮罩層效果原理分析_javascript技巧

WBOY
WBOY原創
2016-05-16 16:46:531364瀏覽

可以說這個功能,在我理解了前面的「貪吃蛇」之後,實在是與剛開始想像的難度差了很多,當然是這種方式有取巧之嫌,終歸是實現了功能,我們來進行分析整理

1、實作原理

本片文章的是實作原理如下:

* 實際上彈出層、遮罩層和原頁面顯示分別為三個不同的div

* 彈出層的層級在遮罩層之上,遮罩層的層級在原頁顯示之上;

* 遮罩層有通明效果

* 遮罩層沒有實際意義,則無須在html部分就寫上,當然寫上同樣可以實現

2、程式碼實作

html語言如下:

複製程式碼 程式碼如下:



















....









登入






javascript實作彈出層和遮罩層:




複製程式碼


程式碼如下:


function show(){
var alertPart=document.getElementById("alert");
alertPart.style.display="block";
alertPart.style.position = "absolute";
alertPart. style.top = "50%";
alertPart.style.left = "50%";
alertPart.style.marginTop = "-75px";
alertPart.style.marginLeft = "-150px";
alertPart.style.marginLeft = "-150px" ;
alertPart.style.background="cyan";
alertPart.style.width="300px";
alertPart.style.height="200px";
alertPart.style.zIndex = " 501";
var mybg = document.createElement("div");
mybg.setAttribute("id","mybg");
mybg.style.background = "#000" ;
mybg.style.width = "100%"; mybg.style.height = "100%"; mybg.style.position = "absolute"; mybg.style.top = "0"; mybg.style.left = "0"; mybg.style.zIndex = "500"; mybg.style.opacity = "0.3"; mybg.style .filter = "Alpha(opacity=30)"; document.body.appendChild(mybg); document.body.style.overflow = "hidden"; } 這裡用z-index來區分層級,opacity和filter:alpha(opacity=)透明度,document.createElement("div")和document.body.appendChild ()這些都是在之前出現過,應用過的了,這樣我們就能實現了,其實當原理明白了的那一刻,一切也就容易多了吧。 路漫漫而修遠兮啊
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn