zoukankan      html  css  js  c++  java
  • div在最顶层显示弹出框效果

    div显示在最顶层,并且背景层变暗.

    效果图如下:

    代码:
    html文件内容如下:
     
    <!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>
    
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    
      <script type="text/javascript" src="coverDiv.js"></script>
    
      </head>  <body onload="drag();">
    
      <div>
    
       <input type="button" onclick="popSignFlow();" value="login"/>  
    
    </div>
    
    </body>
    
    </html>
    

      

    coverDiv.js文件内容如下:

    function isIE(){
          return (document.all && window.ActiveXObject && !window.opera) ? true : false;
      }
      var loginDivWidth = 300;
      var sign_in_flow = '<div style="background:#FF9900;">Login</div><div>e-mail:*</div><div>'
           + '<input type="text" id="sign_email" maxlength="64" size="30"/>'
           + '</div><div>password:*</div><div><input type="password" size="30"/>'
            + '</div><div><input type="button" value="login" />  '
            + '  <input type="button" value="cancel" onclick="cancelSign();"/></div>';
      function cancelSign(){
        document.getElementById("sign_div").style.display = 'none';
        document.getElementById("cover_div").style.display = 'none';
       document.body.style.overflow = '';
      };
      function popCoverDiv(){
        var coverDiv = document.createElement('div');
        document.body.appendChild(coverDiv);
        with(coverDiv.style) {
        display = 'none';
         position = 'absolute';
         background = '#CCCCCC';
         left = '0px';
         top = '0px';
         var bodySize = getBodySize();
         width = bodySize[0] + 'px'
         height = bodySize[1] + 'px';
         zIndex = 98;
         if (isIE()) {
          filter = "Alpha(Opacity=60)";
         } else {
          opacity = 0.6;
         }
       }
       coverDiv.id = 'cover_div';
      }
      function getBodySize(){
       var bodySize = [];
       with(document.documentElement) {
        bodySize[0] = (scrollWidth>clientWidth)?scrollWidth:clientWidth;
        bodySize[1] = (scrollHeight>clientHeight)?scrollHeight:clientHeight;
       }
       return bodySize;
      }
      function popSign(){
        var signDiv = document.createElement('div');
        document.body.appendChild(signDiv);
        with (signDiv.style) {
         display = 'none';
         cursor='move';
         position = 'absolute';
         left = (document.documentElement.clientWidth - loginDivWidth)/2 + 'px';
         top = (document.documentElement.clientHeight - 300)/2 + 'px';
         width = loginDivWidth + 'px';
         zIndex = 99;
         background = '#FFFFFF';
         border = '#66CCFF solid 1px';
       }
        signDiv.id = 'sign_div';
        signDiv.align = "center";
        document.getElementById("sign_div").innerHTML = sign_in_flow;
      }
      function popSignFlow() {
       document.getElementById("cover_div").style.display = 'block'; 
      document.getElementById("sign_div").style.display = 'block'; 
      document.body.style.overflow = "hidden";
      }
      
      //以下是拖拽
      var offsetX = 0;
      var offsetY = 0;
      var currentLeft = 0;
      var currentTop = 0;
      var isDrag = false;
     
    function stopEvent(evt){
          var event = window.event?window.event:evt;
          if (event.preventDefault) {
            event.preventDefault();
            event.stopPropagation();
          } else {
            event.returnValue = false;
          }
      }
      function drag(){
       popCoverDiv();
       popSign()
       document.getElementById('sign_div').onmousedown = function(evt){
        var evt = window.event?window.event:evt;
        if ((evt.which && evt.which == 1 ) || (evt.button && evt.button == 1)){
          isDrag = true;
          offsetX = evt.clientX;
          offsetY = evt.clientY;
          currentLeft = parseInt(document.getElementById('sign_div').style.left);
          currentTop = parseInt(document.getElementById('sign_div').style.top);
        }
        stopEvent(evt);
       } 
      document.onmousemove = function(evt){
        if(isDrag){
         var evt = window.event?window.event:evt;
          document.getElementById('sign_div').style.left = evt.clientX - offsetX + currentLeft +'px';
          document.getElementById('sign_div').style.top = evt.clientY - offsetY + currentTop +'px';
       stopEvent(evt);
        }
       } 
      document.onmouseup = function(evt){
        isDrag = false;
        var evt = window.event?window.event:evt;
        currentLeft = parseInt(document.getElementById('sign_div').style.left);
        currentTop = parseInt(document.getElementById('sign_div').style.top);
        stopEvent(evt);
       }
      }
    

      

  • 相关阅读:
    十一、VueJs 填坑日记之使用Amaze ui调整列表和内容页面
    十、VueJs 填坑日记之在项目中使用Amaze UI
    九、VueJs 填坑日记之在项目中使用jQuery
    八、VueJs 填坑日记之参数传递及内容页面的开发
    七、VueJs 填坑日记之渲染一个列表
    六、VueJs 填坑日记之初识*.Vue文件
    jmeter连接mysql数据库
    Markdown基础语法
    Python自动化准备工作(pycharm安装)
    Android手机测试环境搭建
  • 原文地址:https://www.cnblogs.com/rmsSpring/p/2423646.html
Copyright © 2011-2022 走看看