今天真是觉得自己弱爆了,弹出层的动态效果(点击按钮出现,点击右上角X关闭或者遮罩层关闭)竟然弄了那么久才知道出了什么问题,老司机请让路,新手可以看一下。。超级简单的事情,唉=-=
首先是静态界面一般有三个主体:
1.按钮,点击触发弹出时间;
2.弹出层,右上角一般有个X可以点击关闭,或者底下有个确定按钮;
3.遮罩层,在弹出的时候避免和网页页面内容混淆。
按钮部分就不说了,任何元素都可以触发弹出事件。
弹出层和遮罩层:作为一个总体,用一个div括起来,css里面默认display:none;我这里做的是一个充值层:
遮罩层:设置fixed,宽高都为100%,(IE6中的fixed可能出问题,要设absolute,记得设置top,left,如果有个height对IE6更好)。
之后设置背景 颜色一般是灰色或者黑色,再加个透明度。再设一个z-index让他在上方。单独显示这个遮罩层可以看到透明的全屏效果。
弹出层主体:设置好 宽w(待会还会有用) 高h 背景颜色等,然后设fixed属性,top=50%,left=50%,
然后加上margin-top,这个值的大小是:二分之一高h;
同理加上margin-left,这个值的大小是:二分之一宽w;
最后是一定要让z-index比遮罩层大,比如设个999;
可以显示出来总体看下效果 .
好,下面开始写效果了:直接上代码
比如按钮的class为p3,那么我get到p3后一定要加【0】,因为getElementByClassName得到的数组,我现在只要一个。
然后给他的style里的display设为block;
然后是获取close的style,还有遮罩层的style,添加点击事件,display设为block;
如果不想点击空白处(遮罩层)的时候显示关闭的话,就去掉这一块。
如果,弹出之后不想要底层页面还能滚动呢(一定要弹出层关闭后才能滚动)
给弹出那个function加上这一句:
document.body.style.overflow = "hidden";
总之没有什么难点,记得a标签的href加上void0就是了。。。