通过遮罩层实现浮层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闭包实例汇总
Nov 09 Javascript
编写自己的jQuery提示框(Tip)插件
Feb 05 Javascript
js正则表达式replace替换变量方法
May 21 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
ES6学习之变量的解构赋值
Feb 12 Javascript
Ionic学习日记实现验证码倒计时
Feb 08 Javascript
vue-cli项目中使用echarts图表实例
Oct 22 Javascript
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
Feb 18 Javascript
详解Vue 如何监听Array的变化
Jun 06 Javascript
Vue项目中ESlint规范示例代码
Jul 04 Javascript
JavaScript使用prototype属性实现继承操作示例
May 22 Javascript
vue解决跨域问题(推荐)
Nov 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
IIS下配置Php+Mysql+zend的图文教程
2006/12/08 PHP
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
PHP If Else(elsefi) 语句
2013/04/07 PHP
php include和require的区别深入解析
2013/06/17 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
一段好玩的JavaScript代码
2006/12/01 Javascript
javascript 循环调用示例介绍
2013/11/20 Javascript
JavaScript中的函数模式详解
2015/02/11 Javascript
javascript实现全角转半角的方法
2016/01/23 Javascript
值得分享和收藏的Bootstrap学习教程
2016/05/12 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
jQuery多选框选择数量限制方法
2017/02/08 Javascript
Node.js与Sails redis组件的使用教程
2017/02/14 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
JS中type=&quot;button&quot;和type=&quot;submit&quot;的区别
2017/07/04 Javascript
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
原生js实现移动端Touch轮播图的方法步骤
2019/01/03 Javascript
js实现延迟加载的几种方法详解
2019/01/19 Javascript
Angular 多级路由实现登录页面跳转(小白教程)
2019/11/19 Javascript
浅谈numpy中linspace的用法 (等差数列创建函数)
2017/06/07 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
Python实现的随机森林算法与简单总结
2018/01/30 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
python模块常用用法实例详解
2019/10/17 Python
使用Python进行防病毒免杀解析
2019/12/13 Python
python如何解析复杂sql,实现数据库和表的提取的实例剖析
2020/05/15 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
地球鞋加拿大官网:Earth Shoes Canada
2020/11/17 全球购物
护理个人求职信范文
2014/01/08 职场文书
运动会通讯稿200字
2015/07/20 职场文书
在js中修改html body的样式
2021/11/11 Javascript