通过遮罩层实现浮层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 String对象扩展HTML编码和解码的方法
Jun 02 Javascript
JavaScript表达式:URL 协议介绍
Mar 10 Javascript
JavaScript创建对象的写法
Aug 29 Javascript
angularjs基础教程
Dec 25 Javascript
JavaScript数组去重的3种方法和代码实例
Jul 01 Javascript
JS+CSS实现带有碰撞缓冲效果的竖向导航条代码
Sep 15 Javascript
关于使用js算总价的问题
Jun 23 Javascript
node实现的爬虫功能示例
May 04 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
Aug 20 Javascript
AngularJs中$cookies简单用法分析
May 30 Javascript
vue-cli和v-charts实现可视化图表过程解析
Oct 08 Javascript
Vue项目打包压缩的实现(让页面更快响应)
Mar 10 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
我的论坛源代码(十)
2006/10/09 PHP
PHP的简易冒泡法代码分享
2012/08/28 PHP
html静态页面调用php文件的方法
2014/11/13 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
通过代码实例解析PHP session工作原理
2020/12/11 PHP
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
Jquery attr(&quot;checked&quot;) 返回checked或undefined 获取选中失效
2013/10/10 Javascript
HTML,CSS,JavaScript速查表推荐
2014/12/02 Javascript
jQuery中:file选择器用法实例
2015/01/04 Javascript
轮播的简单实现方法
2016/07/28 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
Vue中使用的EventBus有生命周期
2018/07/12 Javascript
js打开word文档预览操作示例【不是下载】
2019/05/23 Javascript
了解javascript中let和var及const关键字的区别
2019/05/24 Javascript
html-webpack-plugin修改页面的title的方法
2020/06/18 Javascript
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
python中查看变量内存地址的方法
2015/05/05 Python
ubuntu系统下 python链接mysql数据库的方法
2017/01/09 Python
Python操作Excel之xlsx文件
2017/03/24 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
django 多数据库配置教程
2018/05/30 Python
Python实现批量修改图片格式和大小的方法【opencv库与PIL库】
2018/12/03 Python
在python中将list分段并保存为array类型的方法
2019/07/15 Python
简单了解python元组tuple相关原理
2019/12/02 Python
基于python3生成标签云代码解析
2020/02/18 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
加拿大百叶窗和窗帘定制网站:Blinds
2017/01/30 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
农民致富事迹材料
2014/01/23 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
租房协议书范例
2014/10/14 职场文书
教师节寄语2015
2015/03/23 职场文书
财务统计员岗位职责
2015/04/14 职场文书
初中美术教学反思
2016/02/17 职场文书
2016优秀班主任个人先进事迹材料
2016/02/26 职场文书
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle