通过遮罩层实现浮层DIV登录的js代码


Posted in Javascript onFebruary 07, 2014

这个就没什么好说的了。。直接上代码啊!!

首先是HTML的代码。其中包含了登录点击按钮以及一个简陋的登录框。

<body> 
<div id="shade"></div> 
<div> 
<a onclick="login()" style="cursor:pointer">登录</a> 
</div> 
<br/> 
什么都没有用。。。<br/><br/> 
什么都没有用。。。<br/><br/> 
什么都没有用。。。<br/><br/> 
什么都没有用。。。<br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> 
<br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/><br/> <div id="login" style="display: none; z-index:1025; position:absolute;"> 
<form method="post" action="user/login.html"> 
<table width="200"> 
<caption> 
用户登录 
</caption> 
<tr> 
<td>用户名:</td> 
<td><input type="text" name="userName" /></td> 
</tr> 
<tr> 
<td>密码:</td> 
<td><input type="password" name="password" /></td> 
</tr> 
<tr> 
<td>验证码:</td> 
<td><img alt="" src="base/verify.html" onClick=""></td> 
</tr> 
<tr> 
<td><input type="submit" value="登录" /></td> 
<td><input type="button" value="取消" onClick="cancel()" /></td> 
</tr> 
</table> 
</form> 
</div> 
</body>

接着是JS脚本代码的实现
<script type="text/javascript"> 
function login(){ 
var shadeWidth = document.body.clientWidth + 30; 
var shadeHeight = document.body.clientHeight + 30; 
var shade = document.getElementById("shade"); 
shade.style.width = shadeWidth + "px"; 
shade.style.height = shadeHeight + "px"; 
shade.style.display = "block"; var loginDivWidth = 200; 
var loginDivHeight = 800; 
var loginDiv = document.getElementById("login"); 
loginDiv.style.width = loginDivWidth + "px"; 
loginDiv.style.height = loginDivHeight + "px"; 
loginDiv.style.top = (document.body.scrollTop + document.body.clientHeight / 2 
- loginDivHeight / 2) + "px"; 
loginDiv.style.left = (document.body.scrollLeft + document.body.clientWidth / 2 
- loginDivWidth / 2) + "px"; 
loginDiv.style.display = "block"; 
} 
</script>

这里只有显示遮罩层以及登录框的代码。至于隐藏的代码也很简单,就是将遮罩层(shade)的DIV块以及登录框(login)的DIV块的display属性都设置成none应该就没有什么问题了。。

至此,一个简单的通过遮罩层实现浮层DIV登录的功能就实现了。关于美工方面的工作就由大家自行解决了。

在这里,有一个功能求助大家啊。。就是如何让弹出的登录框的DIV块跟随滚动条移动呢??

我的实验代码如下。

function loginDivCenter (){ 
loginDiv.style.top = (document.body.scrollTop + document.body.clientHeight / 2 
- loginDivHeight / 2) + "px"; 
loginDiv.style.left = (document.body.scrollLeft + document.body.clientWidth / 2 
- loginDivWidth / 2) + "px"; 
} function scall (){ 
loginDivCenter(); 
} 
window.onscroll=scall; 
window.onresize=scall; 
window.onload=scall;

但是很不幸的是本人失败了。。网上找了很多,但都不是符合要求的。大多是设置一个setInterval来实现。本人觉得这样做并不理想啊。。。

求各路大神指教啊!

Javascript 相关文章推荐
JS按回车键实现登录的方法
Aug 25 Javascript
jQuery中toggle()函数的使用实例
Apr 17 Javascript
3种js实现string的substring方法
Nov 09 Javascript
React Native实现进度条弹框的示例代码
Jul 17 Javascript
基于JavaScript实现多级菜单效果
Jul 25 Javascript
js异步编程小技巧详解
Aug 14 Javascript
ajax请求data遇到的问题分析
Jan 18 Javascript
js中的深浅拷贝问题简析
May 10 Javascript
如何给element添加一个抽屉组件的方法步骤
Jul 14 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
Sep 11 Javascript
解决VUEX的mapState/...mapState等取值问题
Jul 24 Javascript
javascript拖曳互换div的位置实现示例
Jun 28 Javascript
做好七件事帮你提升jQuery的性能
Feb 06 #Javascript
为开发者准备的10款最好的jQuery日历插件
Feb 04 #Javascript
javascript简单性能问题及学习笔记
Feb 04 #Javascript
JavaScript初学者建议:不要去管浏览器兼容
Feb 04 #Javascript
21个值得收藏的Javascript技巧
Feb 04 #Javascript
Javascript 按位与运算符 (&amp;)使用介绍
Feb 04 #Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
Feb 04 #Javascript
You might like
php牛逼的面试题分享
2013/01/18 PHP
『PHP』PHP截断函数mb_substr()使用介绍
2013/04/22 PHP
关于php程序报date()警告的处理(date_default_timezone_set)
2013/10/22 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
2014/04/10 PHP
PHP中的插件机制原理和实例
2014/07/08 PHP
讲解WordPress开发中一些常用的debug技巧
2015/12/18 PHP
javascript string字符串优化问题
2011/07/31 Javascript
基于jquery的跟随屏幕滚动代码
2012/07/24 Javascript
jQuery ui插件的使用方法代码实例
2013/05/08 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
jQuery中$.each使用详解
2015/01/29 Javascript
jquery实现一个简单的表单验证实例
2016/03/30 Javascript
关于微信中a链接无法跳转问题
2016/08/02 Javascript
node+vue实现用户注册和头像上传的实例代码
2017/07/20 Javascript
微信小程序支付前端源码
2018/08/29 Javascript
深入webpack打包原理及loader和plugin的实现
2020/05/06 Javascript
python中将字典转换成其json字符串
2014/07/16 Python
Python RuntimeError: thread.__init__() not called解决方法
2015/04/28 Python
python实现下载整个ftp目录的方法
2017/01/17 Python
Python连接数据库学习之DB-API详解
2017/02/07 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
python将文本中的空格替换为换行的方法
2018/03/19 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
python实现zabbix发送短信脚本
2018/09/17 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
详解Canvas实用库Fabric.js使用手册
2019/01/07 HTML / CSS
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
反邪教宣传工作方案
2014/05/07 职场文书
环保倡议书100字
2014/05/15 职场文书
文明城市创建标语
2014/06/16 职场文书
村级个人对照检查材料
2014/08/22 职场文书
邮政竞聘演讲稿
2014/09/03 职场文书
2014年内勤工作总结
2014/11/24 职场文书
创业计划书之个人工作室
2019/08/22 职场文书