这是一款非常实用的登录窗口设计效果。该登录窗口通过点击按钮或超链接弹出,它可以自由的进行拖拽。在登陆框中带有二维码,可以进行扫描登录,即实用又时尚。
使用方法
在页面中引入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"); }); })