zoukankan      html  css  js  c++  java
  • 网页点击按钮弹出遮罩层,拖动和关闭效果

    基于JavaScript的网页弹出层,鼠标按在弹出层的标题栏处,可以拖动该浮动层随意移动位置,不需要时也可以关闭,操作体验舒服,兼容性好,IE/火狐等众多浏览器下运行稳定、反应快速。代码表现方面,简洁务实,不玩虚的,拿去学习也相当不错。

    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>弹出层并可拖拽</title>
    <style>
    html,body{height:100%;overflow:hidden;}
    body,div,h2{margin:0;padding:0;}
    body{font:12px/1.5 Tahoma;}
    li{ list-style-type:none}
    center{padding-top:10px;}
    button{cursor:pointer;}
    #overlay{position:absolute;top:0;left:0;100%;height:100%;background:#000;opacity:0.5;filter:alpha(opacity=50);display:none;}
    #win{position:absolute;top:50%;left:50%;400px;height:200px;background:#fff;border:4px solid #f90;margin:-102px 0 0 -202px;display:none;}
    h2{font-size:12px;height:18px;text-align:right;background:#FC0;border-bottom:3px solid #f90;padding:5px;cursor:move;}
    h2 span{color:#f90;cursor:pointer;background:#fff;border:1px solid #f90;padding:0 2px;}
    </style>
    <script>
    window.onload = function ()
    {
    var oWin = document.getElementById("win");
    var oLay = document.getElementById("overlay");
    var oBtn = document.getElementsByTagName("button")[0];
    var oClose = document.getElementById("close");
    var oH2 = oWin.getElementsByTagName("h2")[0];
    var bDrag = false;
    var disX = disY = 0;
    oBtn.onclick = function ()
    {
    oLay.style.display = "block";
    oWin.style.display = "block"
    };
    oClose.onclick = function ()
    {
    oLay.style.display = "none";
    oWin.style.display = "none"
    };
    oClose.onmousedown = function (event)
    {
    (event || window.event).cancelBubble = true;
    };
    oH2.onmousedown = function (event)
    {
    var event = event || window.event;
    bDrag = true;
    disX = event.clientX - oWin.offsetLeft;
    disY = event.clientY - oWin.offsetTop;
    this.setCapture && this.setCapture();
    return false
    };
    document.onmousemove = function (event)
    {
    if (!bDrag) return;
    var event = event || window.event;
    var iL = event.clientX - disX;
    var iT = event.clientY - disY;
    var maxL = document.documentElement.clientWidth - oWin.offsetWidth;
    var maxT = document.documentElement.clientHeight - oWin.offsetHeight;
    iL = iL < 0 ? 0 : iL;
    iL = iL > maxL ? maxL : iL;
    iT = iT < 0 ? 0 : iT;
    iT = iT > maxT ? maxT : iT;
    oWin.style.marginTop = oWin.style.marginLeft = 0;
    oWin.style.left = iL + "px";
    oWin.style.top = iT + "px";
    return false
    };
    document.onmouseup = window.onblur = oH2.onlosecapture = function ()
    {
    bDrag = false;
    oH2.releaseCapture && oH2.releaseCapture();
    };
    };
    </script>
    <meta charset="utf-8">
    </head>
    <body>
    <div id="overlay"></div>
    <div id="win"><h2><span id="close">×</span></h2>
    <li><a href='http://www.100sucai.com' target='_blank'>http://www.100sucai.com</a></li>
    <li><a href="http://www.100sucai.com/web/jquerytexiao/CSS3heHtml5/" title="CSS3和Html5">CSS3和Html5</a></li>
    <li><a href="http://www.100sucai.com/web/jquerytexiao/tubiaoyutuxing/" title="图表与图形">图表与图形</a></li>
    </div>
    <center><button>弹出层</button></center>
    </body>
    </html><br />
    

      

  • 相关阅读:
    JavaScript运算符有哪些
    Android 之 Shape (圆角输入框)
    Java开源报表Jasper入门(2) -- 使用JasperSoft Studio创建一个简单报表
    PHP之set_error_handler()函数讲解
    PHP防止SQL注入与几种正则表达式讲解
    PHP对XML添加节点之appendChild()方法讲解
    PHP创建XML文件讲解
    PHP对XML文件操作类讲解
    PHP对XML文件操作之属性与方法讲解
    PHP之SQL防注入代码(360提供)
  • 原文地址:https://www.cnblogs.com/good10000/p/4744114.html
Copyright © 2011-2022 走看看