• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Hing
沉浸在技术的海洋,通过学习与讨论,只有不断的提高,才有可能去创造与实现.
博客园    首页    新随笔    联系   管理    订阅  订阅
Div+Css+JS做弹出窗口

   很久就想做下笔记,把这段时间学到用到的东西都记录下来,以备以后可能重复利用,好啦,开始...

  Div+Css+JS 这三者都是互相影响的,缺一不可。

  首先写好CSS样式,

CSS
#divbg
        
{
            width
: 100%;
            height
: 100%;
            position
: absolute;
            z-index
: 999;
            top
: 0px;
            left
: 0px;
            filter
: alpha(opacity=50);
            opacity
: 0.5;
            background-color
: #AAAAAA;
        
}
        #diveditcontent
        
{
            width
: 630px;
            height
: 150px;
            position
: absolute;
            z-index
: 1000;
            background-color
: #444444;
        
}
        #divheader
        
{
            width
: 100%;
            height
: 25px;
            background-color
: #BB5500;
        
}

 

  直接贴上代码了。

Html
<div id="divbg" style="display: none;">
</div>     //弹出窗口的背景(遮挡当前页)
<div id="diveditcontent" style="display: none;">        //窗口内容页
        
<div style="margin-right: 3px; margin-bottom: 3px; width: 99.7%">
            
<div id="divheader" title="Move>">    //窗口标题行
                
<div style="float: left; margin-top: 5px; margin-left: 3px;">
                    
<strong>
                        Edit
</strong></div>
                
<div style="float: right; margin-top: 5px; margin-right: 3px;">
                    
<a href="#" onclick="Hide();" title="Close"><strong>X</strong></a></div>  //关闭
            
</div>
            
<div id="divcontent">  //内容
            
</div>
        
</div>
    
</div>

 

 

JavaScript
<script type="text/javascript">
        
var divheader = document.getElementById("divheader");
        
var divbg = document.getElementById("divbg");
        
var diveditcontent = document.getElementById("diveditcontent");
        
var selects = document.getElementsByTagName("select");
        
var divcontent = document.getElementById("divcontent");
        
function Show(Key) {

            divbg.style.display 
= "";
            divbg.style.width 
= document.body.offsetWidth;  //浏览器宽度(滚动条+clientwidth+边框)
            divbg.style.height = document.body.offsetHeight;

            diveditcontent.style.display 
= "";
            diveditcontent.style.top 
= "50px";   //弹出窗口位置
            diveditcontent.style.left = "100px";


            
for (var i = 0; i < selects.length; i++) {
                selects[i].style.display 
= "none";      //遮住下拉框
            }

            divcontent.innerHTML 
= "<iframe frameborder=0 scrolling=no src='PriceEdit.aspx?Key=" + Key + "' width='100%' height='100%'></iframe>";
            
//嵌入页

        }
        
function Hide() {
            
//隐藏窗口
            document.location = location.reload();
            divbg.style.display 
= "none";
            diveditcontent.style.display 
= "none";

            
for (var i = 0; i < selects.length; i++) {
                selects[i].style.display 
= "";
            }


        }
        divheader.onmousedown 
= Down;
        
//以下是拉窗口自由移动
        var th;
        
var tw;
        
function Down(e) {

            
var event = window.event || e;
            th 
= event.clientY - parseInt(diveditcontent.style.top.replace(/px/, ""), 10);
            tw 
= event.clientX - parseInt(diveditcontent.style.left.replace(/px/, ""), 10);
            document.onmousemove 
= Move;
            document.onmouseup 
= Up;
            document.onmouseout 
= Up;
            
function Move(e) {

                
var event = window.event || e;
                
var top = event.clientY - th;
                
var left = event.clientX - tw;
                top 
= top < 0 ? 0 : top;
                top 
= top > document.body.offsetHeight - 220 ? document.body.offsetHeight - 220 : top;

                left 
= left < 0 ? 0 : left;
                left 
= left > document.body.offsetWidth - 630 ? document.body.offsetWidth - 630 : left;

                diveditcontent.style.top 
= top + "px";
                diveditcontent.style.left 
= left + "px";
            }

            
function Up() {
                document.onmousemove 
= null;
            }
        }
    
</script>

 

 结束。继续上班

 

 

 

posted on 2009-07-10 14:36  Pacer  阅读(29430)  评论(16)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3