TypechoJoeTheme

轩宇网

可拖拽和带二维码的登录窗口设计效果


这是一款非常实用的登录窗口设计效果。该登录窗口通过点击按钮或超链接弹出,它可以自由的进行拖拽。在登陆框中带有二维码,可以进行扫描登录,即实用又时尚。
使用方法
在页面中引入jquery和样式文件style.css。
<script src="path/to/jquery.min.js"></script>
<link href="path/to/style.css" rel="stylesheet">
HTML结构
该登录窗口的基本HTML结构如下:

<div id="gray"></div>
<div class="popup" id="popup">
  <div class="top_nav" id='top_nav'>
    <div align="center">
      <span>登录账号</span>
      <a class="guanbi"></a>
    </div>
  </div>
  <div class="min">
    <div class="tc_login">
      <div class="left">
        <h4 align="center">手机扫描</h4>
        <div align="center"><img src="images/erweima.jpg" width="150" height="150" /></div>
        <dd>
          <div align="center">扫描二维码登录</div>
        </dd>
      </div>  
      <div class="right">
        <form method="POST" name="form_login" target="_top">
          <div align="center">
            <a href="">短信快捷登录</a>
            <i class="icon-mobile-phone"></i>
            <input type="text" name="name" id="name" required="required" placeholder="用户名" autocomplete="off" class="input_yh">
            <input type="password" name="pass" id="pass" required="required" placeholder="密码" autocomplete="off" class="input_mm">
          </div>
          <dd>
            <div align="center"><a href="">遇到登录问题</a></div>
          </dd>
          <div align="center">
            <input type="submit" class="button" title="Sign In" value="登录">
          </div>
        </form>   
        <dd>
          <div align="center"><a href="#" target="_blank">立即注册</a></div>
        </dd>
        <hr align="center" />
        <div align="center">期待更多功能 </div>
      </div>    
    </div>
  </div>
</div>   

可以通过一个按钮或超链接来打开登录窗口。

<button class="tc">点击登录</button>                  

JavaScript
在页面DOM元素加载完毕之后,通过下面的jquery代码来完成登录窗口的显示、隐藏和拖拽功能。

//点击登录class为tc 显示
$(".tc").click(function(){
  $("#gray").show();
  $("#popup").show();//查找ID为popup的DIV show()显示#gray
  tc_center();
});
//点击关闭按钮
$("a.guanbi").click(function(){
  $("#gray").hide();
  $("#popup").hide();//查找ID为popup的DIV hide()隐藏
})
 
//窗口水平居中
$(window).resize(function(){
  tc_center();
});
 
function tc_center(){
  var _top=($(window).height()-$(".popup").height())/2;
  var _left=($(window).width()-$(".popup").width())/2;
   
  $(".popup").css({top:_top,left:_left});
} 
 
$(document).ready(function(){ 
 
  $(".top_nav").mousedown(function(e){ 
    $(this).css("cursor","move");//改变鼠标指针的形状 
    var offset = $(this).offset();//DIV在页面的位置 
    var x = e.pageX - offset.left;//获得鼠标指针离DIV元素左边界的距离 
    var y = e.pageY - offset.top;//获得鼠标指针离DIV元素上边界的距离 
     //绑定鼠标的移动事件,因为光标在DIV元素外面也要有效果,所以要用doucment的事件,而不用DIV元素的事件
    $(document).bind("mousemove",function(ev){ 
     
      $(".popup").stop();//加上这个之后 
       
      var _x = ev.pageX - x;//获得X轴方向移动的值 
      var _y = ev.pageY - y;//获得Y轴方向移动的值 
     
      $(".popup").animate({left:_x+"px",top:_y+"px"},10); 
    }); 
 
  }); 
 
  $(document).mouseup(function() { 
    $(".popup").css("cursor","default"); 
    $(this).unbind("mousemove"); 
  });
})            

其中style.css代码如下:

@charset "utf-8";
*{padding:0px;margin:0px;}
body{min-width:980px;background-color:#fafafa;}
body,ul,h1{margin:0px;}
ul{list-style-type:none;}
img{display:block;}/*变成块集元素*/
a{text-decoration:none;}

/*--弹窗样式--*/

#gray{width:100%;height:100%;background:rgba(0,0,0,0.3);position:fixed;top:0px;display:none;z-index:99;}

.popup{
    width:532px; 
    height:auto;
    background-color:#fff;
    position:absolute;
    z-index:100;
    border:1px solid #ebeaea;
    left:400px;
    top:96px;
    display:none;
}
.popup .top_nav{
    width:532px;
    height:46px;
    background-image: url(../images/popup_top_bj.jpg);
    border-bottom:1px solid #ebeaea;
    position:relative;
    cursor:move;
}
.popup .top_nav i{width:35px;height:35px;background:url(../images/sucai_tubiao.png) -314px -5px;position:absolute;top:6px;left:8px;display:block; }
.popup .top_nav span{font:18px/18px 'microsoft yahei';color:#707070;display:block;position:absolute;top:13px;left:50px;}

.popup .top_nav a.guanbi { background:url(../images/popup_guanbi.png) repeat 0px 0px; width:35px; height: 35px; display: block; position:absolute;top:8px;right:10px;cursor:pointer;}
.popup .top_nav a.guanbi span { display: none;}
.popup .top_nav a.guanbi:hover { background: url(../images/popup_guanbi.png) repeat 0px -35px; }
.popup .min{width:532px;height:auto;padding:10px;}

.tc_login{width:510px;height:380px;background-color:#fff;}
.tc_login .left{width:200px;height:380px;background-color:;float:left;}
.tc_login .right{width:290px;height:380px;background-color:;float:right;padding-right:10px;}
.tc_login .left h4{width:200px;height:20px;margin:20px 0 20px 0;font-size:15px;color:#666;text-align:center;}
.tc_login .left img{width:150px;margin:0 auto;display:block;border:1px solid #E3E3E3;padding:4px;}
.tc_login .left dd{width:200px;height:30px;font:13px/18px 'microsoft yahei';color:#666;margin:20px 0 10px 0;text-align:center;display:block;}

.tc_login .right i{font-size:20px;color:#090;float:right;margin:15px 0 0px 0;}
.tc_login .right a{font:13px/18px 'microsoft yahei';color:#666;float:right;margin:16px 0 0px 6px;}
.tc_login .right a:hover{color:#06F;text-decoration: underline;}
.tc_login .right input{
    border: 1px solid #ccc;
    border-radius: 2px;
    color: #000;
    font-family: 'Open Sans', sans-serif;
    font-size: 1em;
    height: 40px;
    padding:0 0 0 34px;
    margin:10px 0px 0px 10px;
    transition: background 0.3s ease-in-out;
    width: 220px;
    float:right;
}
.tc_login .right input:focus {
    outline: none;
    border-color: #019A0D;
    box-shadow: 0 0 0px #019A0D;
}
.tc_login .right .input_yh{background:url(../images/tc_login_yonghu.jpg) no-repeat left top;}
.tc_login .right .input_mm{background:url(../images/tc_login_mima.jpg) no-repeat left top;}
.tc_login .right .input_yh:focus{background:url(../images/tc_login_yonghu2.jpg) no-repeat left top;}
.tc_login .right .input_mm:focus{background:url(../images/tc_login_mima2.jpg) no-repeat left top;}
.tc_login .right .button{
-webkit-appearance: none;
    background:#36a803;
    border: none;
    border-radius: 2px;
    color: #fff;
    cursor: pointer;
    height: 50px;
    font-family: 'Open Sans', sans-serif;
    font-size: 1.2em;
    letter-spacing: 0.05em;
    text-align: center;
    text-transform: uppercase;
    transition: background 0.3s ease-in-out;
    width: 255px;
    padding:0 50px 0 50px;
    font-weight: bold;
    }
.tc_login .right .button:hover {

    background: #019A0D;
}
.tc_login .right dd{width:100%;height:30px;}
.tc_login .right dd a{font:12px/18px 'microsoft yahei';color:#06F;}
.tc_login .right dd a:hover{font:13px/18px 'microsoft yahei';color:#06F;text-decoration: underline;}
.tc_login .right hr{height:1px;border:none;border-top:1px dashed #E4E4E4;clear:both;margin:240px 0 5px 0px;}

完整代码下载(含素材):

下载地址

赞(0)