自写简单弹出框

今天下午没事,就想起自己要写个弹出框试试。首先在网上搜了哈加上了自己的一些想法,结果达到了自己预想的结果。

实现原理:

1、在页面中创建一个div。

2、将此div的position设置为absolute,并设置其left、top、width、height属性。

3、设置此div的z-index为一个较大值,以保证覆盖弹出层底下的元素。

4、通过div的显示和隐藏达到弹出效果。

直接上代码吧!为了大家方便测试,我已经将js和css都放在html中了。

注意:需要自己引入jquery.min.js

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>弹出层Demo</title>
    <script src="/js/jquery-1.6.2.min.js" type="text/javascript"></script>
    <style>
.backgroundOverlay{
    display: none;
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color:black;
    z-index:1001;
    -moz-opacity: 0.8;
    opacity:.80;
    filter: alpha(opacity=80);
}
.white_content {
    display: none;
    position: absolute;
    top: 10%;
    left: 10%;
    width: 80%;
    height: 80%;
    border: 2px solid lightblue;
    background-color: white;
    z-index:1002;
    overflow: auto;
}

.white_content_small {
    display: none;
    position: absolute;
    top: 20%;
    left: 30%;
    width: 40%;
    height: 50%;
    border: 2px solid lightblue;
    background-color: white;
    z-index:1002;
    overflow: auto;
}

.formdemo{ text-align:center;}
.formdemo input{ margin-top:20px;}

</style>
 <script type="text/javascript">
    //弹出隐藏层
function ShowDiv(show_div,bg_div){
   document.getElementById(show_div).style.display='block';
   document.getElementById(bg_div).style.display='block' ;
   var bgdiv = document.getElementById(bg_div);
   bgdiv.style.width = document.body.scrollWidth;
  // bgdiv.style.height = $(document).height();
   $("#"+bg_div).height($(document).height());
};
//关闭弹出层
function CloseDiv(show_div,bg_div)
{
    document.getElementById(show_div).style.display='none';
    document.getElementById(bg_div).style.display='none';
};
</script>
    
</head>
<body>
<input id="Button1" type="button" value="修改用户" onclick="ShowDiv('MyDiv','fade')" />
<!--弹出层时背景层DIV-->
    <div id="fade" class="backgroundOverlay">
    </div>
    <!-- 弹出层DIV-->
    <div id="MyDiv" class="white_content_small">
        <div style="text-align: right; cursor: default; height: 40px;">
            <span style="font-size: 16px;" onclick="CloseDiv('MyDiv','fade')">关闭</span>
        </div>
           <form action="#" method="post" id="myForm" class="formdemo">
                输入用户<input type="text" /><br/>
                再次输入<input type="text"/> <br/>
                <input type="submit" value="确定" />
                <input type="reset" value="重置"  />
          </form>        
                
    </div>
</body>
</html>

希望自己的积累能给其他人带来帮助,爱代码,爱生活!

posted @ 2015-01-09 17:30  麻雀虽小五脏俱全  阅读(538)  评论(0编辑  收藏  举报