通过遮罩层实现浮层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 控制下拉菜单刷新的方法
Mar 03 Javascript
在jQuery中 常用的选择器介绍
Apr 16 Javascript
Function.prototype.call.apply结合用法分析示例
Jul 03 Javascript
node.js中的fs.readdir方法使用说明
Dec 17 Javascript
javascript实现简单的页面右下角提示信息框
Jul 31 Javascript
Express实现前端后端通信上传图片之存储数据库(mysql)傻瓜式教程(二)
Dec 10 Javascript
Sort()函数的多种用法
Mar 20 Javascript
深入浅析search 搜索框的写法
Aug 02 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
Jan 05 Javascript
纯js实现隔行变色效果
Nov 29 Javascript
详解如何实现Element树形控件Tree在懒加载模式下的动态更新
Apr 25 Javascript
微信小程序修改checkbox的样式代码实例
Jan 21 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
检测codeigniter脚本消耗内存情况的方法
2015/03/21 PHP
深入浅析PHP的session反序列化漏洞问题
2017/06/15 PHP
Laravel框架使用Seeder实现自动填充数据功能
2018/06/13 PHP
php+lottery.js实现九宫格抽奖功能
2019/07/21 PHP
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
ejs v9 javascript模板系统
2012/03/21 Javascript
js弹出模式对话框,并接收回传值的方法
2013/03/12 Javascript
JQuery判断子iframe何时加载完成解决方案
2013/08/20 Javascript
JavaScript获取当前运行脚本文件所在目录的方法
2016/02/03 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
轻松理解Javascript变量的相关问题
2017/01/20 Javascript
js 性能优化之算法和流程控制
2017/02/15 Javascript
Bootstrap模态框案例解析
2017/03/05 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
用vue封装插件并发布到npm的方法步骤
2017/10/18 Javascript
深入理解ES6中let和闭包
2018/02/22 Javascript
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
使用axios请求接口,几种content-type的区别详解
2019/10/29 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
JavaScript枚举选择jquery插件代码实例
2020/11/17 jQuery
Django返回json数据用法示例
2016/09/18 Python
解决Django模板无法使用perms变量问题的方法
2017/09/10 Python
python xlsxwriter库生成图表的应用示例
2018/03/16 Python
Python实现随机漫步功能
2018/07/09 Python
对python内置map和six.moves.map的区别详解
2018/12/19 Python
Python os.access()用法实例
2019/02/18 Python
python tkinter canvas使用实例
2019/11/04 Python
Python enumerate函数遍历数据对象组合过程解析
2019/12/11 Python
Python日期格式和字符串格式相互转换的方法
2020/02/18 Python
Perfume’s Club法国站:购买香水和化妆品
2019/05/02 全球购物
荷叶圆圆教学反思
2014/02/01 职场文书
上课玩手机检讨书
2014/02/08 职场文书
企业活动策划方案
2014/06/02 职场文书
租房协议书范文
2014/08/20 职场文书
2016年学校党支部公开承诺书
2016/03/25 职场文书
《LOL》“克隆大作战”久违归来 幻灵战队皮肤上线
2022/04/03 其他游戏