可以說這個功能,在我理解了前面的「貪吃蛇」之後,實在是與剛開始想像的難度差了很多,當然是這種方式有取巧之嫌,終歸是實現了功能,我們來進行分析整理
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 ()這些都是在之前出現過,應用過的了,這樣我們就能實現了,其實當原理明白了的那一刻,一切也就容易多了吧。 路漫漫而修遠兮啊