使用javascript自带的提示对话框,不怎么美观,如果使用自定义的,那么在样式上就会有更多的控制权了,下面为大家分享下Jquery自定义的弹窗
在项目开发中,如果我们使用javascript自带的提示对话框,感觉不怎么美观,所以我们通常都是自己定义一些对话框,这里我实现点击按钮就弹窗一个登录的窗口,点击该窗口并可以实现拖拽功能,太多文字的东西说不清楚,直接用代码说话。 这里我将HTML、CSS、Jquery代码分别贴出来 HTML部分: 代码如下: <button id="show" class="alter">弹窗</button> <!-- 弹窗部分--> <div class="box"> <div class="box_content"> <div class="title"> <h3>登录腾虎通行证</h3> <h2 id="close">×</h2> </div> <div class="content"> <table border="0" cellpadding="0" cellspacing="0"> <tr height="60px"> <td colspan="2"> <p class="prompt" id="username_p">请输入用户名</p> <input type="text" class="inputstyle ins" id="username"/> </td> </tr> <tr height="60px"> <td colspan="2"> <p class="prompt" id="pwd_p">请输入密码</p> <input type="password" class="inputstyle ins" id="pwd"/> </td> </tr> <tr height="30px"> <td align="left"><input type="checkbox" checked="checked"/> 下次自动登录</td> <td align="right"><a href="#">忘记密码?</a></td> </tr> <tr height="60px"> <td colspan="2"><input type="submit" value="登录" class="inputstyle login" id="login"/></td> </tr> <tr height="30px"> <td colspan="2" align="right"><a href="#">立即注册</a></td> </tr> </table> </div> <p style="width:100%;border-bottom:1px solid #EEEEEE"></p> <div class="other"> <p>可以使用一下方式登录</p> <ul> <li>QQ</li> <li>MSN</li> <li></li> </ul> </div> </div> </div> CSS部分代码: 代码如下: <style type="text/css"> *{margin:0px;padding:0px;color:#555555;} .alter{width:50px;height:30px;margin:10px} .box{ width:100%; height:100%; position:fixed; top:0; left:0; background: -moz-linear-gradient(rgba(11,11,11,0.5), rgba(11,11,11,0.1)) repeat-x rgba(11,11,11,0.1); background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(rgba(11,11,11,0.1)), to(rgba(11,11,11,0.1))) repeat-x rgba(11,11,11,0.1); z-index:100000; display:none; } .box_content{ height:420px; width:350px; background:white; position:fixed; top:0; left:0; } .box_content .title{ height:45px; width:100%; background:#EEEEEE; line-height:45px; overflow:hidden; } .title:hover{cursor: move;} .title h3{float:left;margin-left:20px;} .title h2{float:right;margin-right:15px;color:#999999} .title h2:hover{color:#444444;cursor:pointer} .box_content .content,.other{margin:20px 20px 10px 20px;overflow:hidden;font:normal 14px "宋体";} .content table{width:99%;} .content .inputstyle,.prompt{height:35px;width:96.5%;padding-left:10px;} .content .inputstyle{font:bold 18px/35px "宋体";} .content a{ text-decoration: none; color:#1B66C7 } .content a:hover{text-decoration: underline;} .content table .login{ height:45px;width:101%; border:none; background:#4490F7; color:#FFFFFF; font:bold 17px "宋体"; border-radius:4px; } .content table .login:hover{ background:#559BFC; } .content .prompt{ color:#999999; position:absolute; line-height:38px; } .box_content .other{font:normal 14px "宋体";} .other ul{ list-style:none; margin-top:15px; } .other ul li{ float:left; height:30px; width:30px; margin-right:15px; border-radius:20px; background:#1B66C7; color:white; text-align:center; line-height:30px } </style> Jquery代码: 代码如下: <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ BoxInit.init(); }); var BoxInit={ wWidth:undefined,//浏览器宽度 wHeight:undefined,//浏览器高度 show:undefined,//显示按钮 box:undefined,//弹窗遮盖属性 boxContent:undefined,//弹窗属性 closeBox:undefined,//关闭按钮属性 loginBtn:undefined,//登录按钮属性 init:function(){ var self=this; //获取控件对象 self.show=$("#show"); self.box=$(".box"); self.boxContent=$(".box_content"); self.closeBox=$("#close"); self.loginBtn=$("#login"); //获取浏览器可视化的宽高 self.wWidth=$(window).width(); self.wHeight=$(window).height(); //绑定显示按钮点击事件 self.show.click(function(){self.showBtn()}); //绑定关闭按钮事件 self.closeBox.click(function(){self.closes()}); //绑定登录按钮 self.loginBtn.click(function(){self.login()}); //DIV拖拽 self.dragDrop(); //调用控制提示信息 self.controlPromptInfo(); }, /** *显示按钮 */ showBtn:function(){ var self=this; self.box.animate({"width":self.wWidth,"height":self.wHeight},function(){ //设置弹窗的位置 self.boxContent.animate({ "left":(self.wWidth-self.boxContent.width())/2 },function(){ $(this).animate({"top":(self.wHeight-self.boxContent.height())/2}); }); }); }, /** *关闭按钮 */ closes:function(){ var self=this; self.boxContent.animate({ "top":0 },function(){ $(this).animate({"left":-(self.wWidth-self.boxContent.width())/2},function(){ self.box.animate({"width":-self.wWidth,"height":-self.wHeight}); }); }); }, /** *登录按钮 */ login:function(){ var self=this; self.boxContent.animate({ "top":0 },function(){ $(this).animate({"left":-(self.wWidth-self.boxContent.width())/2},function(){ self.box.animate({"width":-self.wWidth,"height":-self.wHeight}); }); }); }, /** *拖拽弹窗 */ dragDrop:function(){ var self=this; var move=false;//标识是否移动元素 var offsetX=0;//弹窗到浏览器left的宽度 var offsetY=0;//弹出到浏览器top的宽度 var title=$(".title"); //鼠标按下事件 title.mousedown(function(){ move=true;//当鼠标按在该div上的时间将move属性设置为true offsetX=event.offsetX;//获取鼠标