通过遮罩层实现浮层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框架veryide.librar源代码
Mar 05 Javascript
javascript 可以拖动的DIV(二)
Jun 26 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
Jul 20 Javascript
浅谈javascript中基本包装类型
Jun 03 Javascript
javascript实现textarea中tab键的缩排处理方法
Jun 26 Javascript
学习JavaScript鼠标响应事件
Dec 25 Javascript
javascript实现label标签跳出循环操作
Mar 06 Javascript
JavaScript兼容浏览器FF/IE技巧
Aug 14 Javascript
利用transition实现文字上下抖动的效果
Jan 21 Javascript
Flask中获取小程序Request数据的两种方法
May 12 Javascript
React-Native中禁用Navigator手势返回的示例代码
Sep 09 Javascript
vue-router路由懒加载及实现的3种方式
Feb 28 Vue.js
做好七件事帮你提升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
ThinkPHP登录功能的实现方法
2014/08/20 PHP
PHP strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
PHP函数rtrim()使用中的怪异现象分析
2017/02/24 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
php使用curl下载指定大小的文件实例代码
2017/09/30 PHP
PHP从零开始打造自己的MVC框架之路由类实现方法分析
2019/06/03 PHP
Aliyun Linux 编译安装 php7.3 tengine2.3.2 mysql8.0 redis5的过程详解
2020/10/20 PHP
出现“不能执行已释放的Script代码”错误的原因及解决办法
2007/08/29 Javascript
js DOM的学习笔记
2011/12/22 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
jquery实现网页查找功能示例分享
2014/02/12 Javascript
js实现二级导航功能
2017/03/03 Javascript
jQuery中内容过滤器简单用法示例
2018/03/31 jQuery
JavaScript继承与多继承实例分析
2018/05/26 Javascript
nodejs之koa2请求示例(GET,POST)
2018/08/07 NodeJs
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
微信小程序云开发之使用云函数
2019/05/17 Javascript
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
python下读取公私钥做加解密实例详解
2017/03/29 Python
python 弹窗提示警告框MessageBox的实例
2019/06/18 Python
浅谈PyQt5中异步刷新UI和Python多线程总结
2019/12/13 Python
pandas创建DataFrame的7种方法小结
2020/06/14 Python
使用Keras画神经网络准确性图教程
2020/06/15 Python
css3学习心得分享
2013/08/19 HTML / CSS
高一生物教学反思
2014/01/17 职场文书
会计专业自我鉴定
2014/02/10 职场文书
中国梦主题教育活动总结
2014/05/05 职场文书
吃空饷专项整治方案
2014/10/27 职场文书
2014财务年终工作总结
2014/12/08 职场文书
捐款通知怎么写
2015/04/24 职场文书
大学生实习介绍信
2015/05/05 职场文书
违反纪律检讨书范文
2015/05/07 职场文书
MySQL 1130异常,无法远程登录解决方案详解
2021/08/23 MySQL
MySQL实战记录之如何快速定位慢SQL
2022/03/23 MySQL
golang连接MySQl使用sqlx库
2022/04/14 Golang
Java后端 Dubbo retries 超时重试机制的解决方案
2022/04/14 Java/Android