通过遮罩层实现浮层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 相关文章推荐
JavaScript 对象链式操作测试代码
Apr 25 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
Dec 30 Javascript
document.all的一个比较完整的总结及案例
Jan 31 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
Dec 03 Javascript
Javascript将数字转化成为货币格式字符串
Jun 22 Javascript
jQuery根据name属性进行查找的用法分析
Jun 23 Javascript
Bootstrap中定制LESS-颜色及导航条(推荐)
Nov 21 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
Apr 21 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
Aug 19 Javascript
vue-cli 3.0 自定义vue.config.js文件,多页构建的方法
Sep 19 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
Mar 14 Javascript
微信小程序绘制半圆(弧形)进度条
Nov 18 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输入流php://input使用浅析
2014/09/02 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
2017/05/20 PHP
PHP错误处理函数register_shutdown_function使用示例
2017/07/03 PHP
JavaScript语言核心数据类型和变量使用介绍
2013/08/23 Javascript
JavaScript常用的弹出广告及背投广告实现方法
2015/02/06 Javascript
浅谈JavaScript超时调用和间歇调用
2015/08/30 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
jQuery控制li上下循环滚动插件用法实例(附demo源码下载)
2016/05/28 Javascript
浅析ES6的八进制与二进制整数字面量
2016/08/30 Javascript
js实现文字无缝向上滚动
2017/02/16 Javascript
javascript简单链式调用案例分析
2017/05/10 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
完美解决axios在ie下的兼容性问题
2018/03/05 Javascript
解决angular2 获取到的数据无法实时更新的问题
2018/08/31 Javascript
微信小程序实现留言功能
2018/10/31 Javascript
vue+elementUi 实现密码显示/隐藏+小图标变化功能
2020/01/18 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
python递归计算N!的方法
2015/05/05 Python
python测试mysql写入性能完整实例
2018/01/18 Python
python中itertools模块zip_longest函数详解
2018/06/12 Python
详解Python3注释知识点
2019/02/19 Python
python中while和for的区别总结
2019/06/28 Python
Python3 使用pillow库生成随机验证码
2019/08/26 Python
3行Python代码实现图像照片抠图和换底色的方法
2019/10/10 Python
Python如何计算语句执行时间
2019/11/22 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
windows下python 3.9 Numpy scipy和matlabplot的安装教程详解
2020/11/28 Python
联想哥伦比亚网上商城:Lenovo Colombia
2017/01/10 全球购物
Rhone官方网站:男士运动服装、健身服装和高级运动服
2019/05/01 全球购物
党员先进事迹材料
2014/12/19 职场文书
建国大业观后感
2015/06/01 职场文书
幸福终点站观后感
2015/06/04 职场文书
超市店长竞聘书
2015/09/15 职场文书
带你学习MySQL执行计划
2021/05/31 MySQL
springboot layui hutool Excel导入的实现
2022/03/31 Java/Android
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技