• JavaScript--结合CSS变形、缩放能拖拽的登录框


    上例图:

    代码块:

      1 <!DOCTYPE html>
      2 <html>
      3 <head lang="en">
      4     <meta charset="UTF-8">
      5     <title></title>
      6     <style>
      7         .login-header {
      8              100%;
      9             text-align: center;
     10             height: 30px;
     11             font-size: 24px;
     12             line-height: 30px;
     13         }
     14         ul, li, ol, dl, dt, dd, div, p, span, h1, h2, h3, h4, h5, h6, a {
     15             padding: 0px;
     16             margin: 0px;
     17         }
     18         .login {
     19              512px;
     20             position: absolute;
     21             border: #ebebeb solid 1px;
     22             height: 280px;
     23             left: 50%;
     24             right: 50%;
     25             background: #ffffff;
     26             box-shadow: 0px 0px 20px #ddd;
     27             z-index: 9999;
     28             margin-left: -250px;
     29             margin-top: 140px;
     30             transform: translateY(-500px) scale(0);
     31             transition: transform .4s  cubic-bezier(0.98, 0.09, 0.4, 1.3);
     32         }
     33         .login-title {
     34              100%;
     35             margin: 10px 0px 0px 0px;
     36             text-align: center;
     37             line-height: 40px;
     38             height: 40px;
     39             font-size: 18px;
     40             position: relative;
     41             cursor: move;
     42             -moz-user-select:none;/*火狐*/
     43             -webkit-user-select:none;/*webkit浏览器*/
     44             -ms-user-select:none;/*IE10*/
     45             -khtml-user-select:none;/*早期浏览器*/
     46             user-select:none;
     47             background: #d21c2e;
     48         }
     49         .login-input-content {
     50             margin-top: 20px;
     51         }
     52         .login-button {
     53              50%;
     54             margin: 30px auto 0px auto;
     55             line-height: 40px;
     56             font-size: 14px;
     57             border: #ebebeb 1px solid;
     58             text-align: center;
     59         }
     60         .login-bg {
     61              100%;
     62             height: 100%;
     63             position: fixed;
     64             top: 0px;
     65             left: 0px;
     66             background: #000000;
     67             filter: alpha(opacity=30);
     68             -moz-opacity: 0.3;
     69             -khtml-opacity: 0.3;
     70             opacity: 0.3;
     71             display: none;
     72 
     73         }
     74         a {
     75             text-decoration: none;
     76             color: #000000;
     77         }
     78         .login-button a {
     79             display: block;
     80         }
     81         .login-input input.list-input {
     82             float: left;
     83             line-height: 35px;
     84             height: 35px;
     85              350px;
     86             border: #ebebeb 1px solid;
     87             text-indent: 5px;
     88         }
     89         .login-input {
     90             overflow: hidden;
     91             margin: 0px 0px 20px 0px;
     92         }
     93         .login-input label {
     94             float: left;
     95              90px;
     96             padding-right: 10px;
     97             text-align: right;
     98             line-height: 35px;
     99             height: 35px;
    100             font-size: 14px;
    101         }
    102         .login-title span {
    103             position: absolute;
    104             font-size: 12px;
    105             right: -20px;
    106             top: -30px;
    107             background: #ffffff;
    108             border: #ebebeb solid 1px;
    109              40px;
    110             height: 40px;
    111             border-radius: 20px;
    112         }
    113         body.show-login .login{
    114             display:block;
    115             transform: translateY(0) scale(1);
    116         }
    117 
    118         body.show-login .login-bg {
    119             display: block;
    120         }
    121         .login.on {
    122             margin-left: 0;
    123             margin-top: 0;
    124         }
    125 
    126     </style>
    127 </head>
    128 <body>
    129 <div class="login-header"><a id="link" href="javascript:void(0);">点击,弹出登录框</a></div>
    130 <div id="login" class="login" >
    131     <div id="title" class="login-title">登录会员
    132         <span id="closeBtn"><a  href="javascript:void(0);" class="close-login">关闭</a></span></div>
    133     <div class="login-input-content">
    134         <div class="login-input">
    135             <label>用户名:</label>
    136             <input type="text" placeholder="请输入用户名" name="info[username]" id="username" class="list-input">
    137         </div>
    138         <div class="login-input">
    139             <label>登录密码:</label>
    140             <input type="password" placeholder="请输入登录密码" name="info[password]" id="password" class="list-input">
    141         </div>
    142     </div>
    143     <div id="loginBtn" class="login-button"><a href="javascript:void(0);" id="login-button-submit">登录会员</a></div>
    144 </div>
    145 <div id="bg" class="login-bg" ></div>
    146 <script>
    147     /**
    148      * 获取元素样式函数
    149      * @param element 要获取的样式的对象
    150      * return 目标css样式对象
    151      * */
    152     function getStyle(element) {
    153         if(window.getComputedStyle) {
    154             return  window.getComputedStyle(element,null);
    155         }else if(element.currentStyle){
    156             return element.currentStyle;
    157         }
    158     }
    159 
    160     /**
    161      * 鼠标按下
    162      *      标记可以被拖动
    163      * 鼠标移动
    164      *      让盒子跟着鼠标移动
    165      * 鼠标弹起
    166      *      标记不能被拖动
    167      */
    168     var link = document.getElementById('link');
    169     var closeBtn = document.getElementById('closeBtn');
    170     var bg = document.getElementById('bg');
    171     var title = document.getElementById('title');
    172     var login = document.getElementById('login');
    173     link.onclick = function () {
    174         document.body.className = 'show-login';
    175 //        login.style.left = window.innerWidth/ 2;
    176 //        login.style.top = window.innerHeight / 2;
    177     }
    178 
    179     closeBtn.onclick = function () {
    180         document.body.className = '';
    181     }
    182     bg.onclick = function () {
    183         document.body.className = '';
    184     }
    185 
    186     // 开关思想
    187     var flag = false;
    188     document.onmouseup = function () {
    189         flag = false;
    190     }
    191     title.onmousedown = function () {
    192         flag = true;
    193 
    194     }
    195 
    196     var boxWidth = parseInt(getStyle(login).width);
    197     var boxHeight = parseInt(getStyle(login).height);
    198     document.onmousemove = function (event) {
    199         if(flag) {
    200             login.className = "login on";
    201             var pageX = event.pageX - boxWidth/2 ;
    202             var pageY = event.pageY - 30;
    203 
    204             if(pageX < 50) {
    205                 pageX = 50;
    206             }
    207             if(pageY < 50) {
    208                 pageY = 50;
    209             }
    210             if(pageX > window.innerWidth - boxWidth) {
    211                 pageX = window.innerWidth - boxWidth;
    212             }
    213             if(pageY > window.innerHeight - boxHeight) {
    214                 pageY = window.innerHeight - boxHeight;
    215             }
    216             login.style.left = pageX + "px";
    217             login.style.top = pageY + "px";
    218 
    219 
    220         }
    221     }
    222 </script>
    223 
    224 </body>
    225 </html>
  • 相关阅读:
    最有影响力的计算机视觉会议及期刊论文
    计算机视觉与图像处理方面的顶级期刊
    总结一下国内搞机器学习和数据挖掘的大牛
    戴尔▪卡耐基《人性的弱点》阅读笔记(1)
    Python GUI之tkinter窗口视窗教程大集合(看这篇就够了)
    自控力极差的人如何自救?
    非技术人员也能看懂云计算,大数据,人工智能
    保罗·多兰《设计幸福》阅读笔记
    神经网络浅讲:从神经元到深度学习----以简单循序的方式带你聊聊深度学习
    从机器学习谈起----极好的一篇机器学习全貌入门文章
  • 原文地址:https://www.cnblogs.com/mrszhou/p/7732018.html
Copyright © 2020-2023  润新知