弹出层并不是真正的弹窗alert() ,而是在点击按钮后,显示display:block; 一个div覆盖住整个页面,再在这个div上堆叠一个div,样式做成弹窗的样子。并给这个伪弹窗设置一个关闭按钮。
script部分没有任何难度:
window.onload= function(){ var obtn = document.getElementsByTagName("button")[0]; var over = document.getElementById("overlay");//覆盖层 var owin = document.getElementById("win");//弹窗层 var clo = document.getElementById("close").getElementsByTagName("span")[0];//关闭弹窗的“按钮” obtn.onclick = function(){//给按钮onclick事件 over.style.display = "block"; owin.style.display = "block";} clo.onclick = function(){ over.style.display = "none"; owin.style.display = "none";} }需要注意的是css部分,覆盖层和弹窗层都是positon:absolute; 绝对定位,覆盖层width:100%;height:100%; 覆盖页面,left:0;top:0; 让覆盖层完全遮住页面,覆盖层通常是灰色的,并且有透明度。 弹窗层在页面居中,嵌套标题栏,正文栏,右上角做出关闭“按钮”。
练习中因为在html部分,弹窗层的div写在了覆盖层下方,自然堆叠顺序高于覆盖层。但实际上应该给二者设置z-index,确保堆叠顺序。