通过遮罩层实现浮层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 相关文章推荐
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
Dec 07 Javascript
在chrome中window.onload事件的一些问题
Mar 01 Javascript
JavaScript中window、doucment、body的解释
Aug 14 Javascript
使用JavaScript刷新网页的方法
Jun 04 Javascript
Jquery轮播效果实现过程解析
Mar 30 Javascript
JavaScript 事件对内存和性能的影响
Jan 22 Javascript
JS中跳出循环的示例代码
Sep 14 Javascript
echarts整合多个类似option的方法实例
Jul 10 Javascript
vue插件draggable实现拖拽移动图片顺序
Dec 01 Javascript
ES6之Proxy的get方法详解
Oct 11 Javascript
基于JS判断对象是否是数组
Jan 10 Javascript
微信小程序如何实现radio单选框单击打勾和取消
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
PHP Session变量不能传送到下一页的解决方法
2009/11/27 PHP
那些年一起学习的PHP(二)
2012/03/21 PHP
php代码中使用换行及(\n或\r\n和br)的应用
2013/02/02 PHP
深入PHP nl2br()格式化输出的详解
2013/06/05 PHP
php注册登录系统简化版
2020/12/28 PHP
php正确输出json数据的实例讲解
2018/08/21 PHP
关于juqery radio写法的兼容性问题(新老版本jquery)
2010/06/14 Javascript
jQuery的实现原理的模拟代码 -5 Ajax
2010/08/07 Javascript
js修改table中Td的值(定义td的单击事件)
2013/01/10 Javascript
appendChild() 或 insertBefore()使用与区别介绍
2013/10/11 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
JavaScript实现当网页加载完成后执行指定函数的方法
2015/03/21 Javascript
javascript实现根据3原色制作颜色选择器的方法
2015/07/17 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
jQuery实现页面下拉100像素出现悬浮窗口的方法
2016/09/05 Javascript
JS验证码实现代码
2017/09/14 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
微信小程序实现左滑动删除效果
2020/03/30 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
[57:09]DOTA2-DPC中国联赛 正赛 Phoenix vs Dynasty BO3 第一场 1月26日
2021/03/11 DOTA
python print 按逗号或空格分隔的方法
2018/05/02 Python
Python3中正则模块re.compile、re.match及re.search函数用法详解
2018/06/11 Python
python+POP3实现批量下载邮件附件
2018/06/19 Python
解决nohup执行python程序log文件写入不及时的问题
2019/01/14 Python
Python如何使用BeautifulSoup爬取网页信息
2019/11/26 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
Windows下pycharm安装第三方库失败(通用解决方案)
2020/09/17 Python
Python实现疫情地图可视化
2021/02/05 Python
Ref与out有什么不同
2012/11/24 面试题
财务方面个人工作的自我评价
2013/12/28 职场文书
农民入党思想汇报
2014/01/03 职场文书
电力工程合作意向书
2015/05/11 职场文书
民事答辩状格式范文
2015/05/21 职场文书
主题班会开场白
2015/06/01 职场文书
六年级上册《闻官军收河南河北》的教学设计
2019/11/15 职场文书
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫