通过遮罩层实现浮层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中产生固定结果的函数优化技巧
Jan 16 Javascript
微信小程序中的onLoad详解及简单实例
Apr 05 Javascript
微信小程序模板和模块化用法实例分析
Nov 28 Javascript
node.js通过axios实现网络请求的方法
Mar 05 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
May 17 Javascript
Vue-router 中hash模式和history模式的区别
Jul 24 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
Apr 25 Javascript
vue-cli 3 全局过滤器的实例代码详解
Jun 03 Javascript
javascript实现点击星星小游戏
Dec 24 Javascript
Vue数字输入框组件示例代码详解
Jan 15 Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
Jan 22 Javascript
基于VUE实现判断设备是PC还是移动端
Jul 03 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 fsockopen解决办法 php实现多线程
2014/01/20 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
三种动态加载js的jquery实例代码另附去除js方法
2014/04/30 Javascript
Bootstrap fileinput文件上传组件使用详解
2017/06/06 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
vue 将页面公用的头部组件化的方法
2017/12/18 Javascript
jQuery实现动态生成年月日级联下拉列表示例
2019/05/11 jQuery
[03:38]TI4西雅图DOTA2前线报道 71专访
2014/07/08 DOTA
python双向链表实现实例代码
2013/11/21 Python
python实现的登陆Discuz!论坛通用代码分享
2014/07/11 Python
深入解析Python设计模式编程中建造者模式的使用
2016/03/02 Python
Python中print和return的作用及区别解析
2019/05/05 Python
利用python实现冒泡排序算法实例代码
2019/12/01 Python
使用Tensorflow实现可视化中间层和卷积层
2020/01/24 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
python实现感知机模型的示例
2020/09/30 Python
详解anaconda安装步骤
2020/11/23 Python
Python 调用 ES、Solr、Phoenix的示例代码
2020/11/23 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
Quiksilver荷兰官方网站:冲浪和滑雪板
2019/11/16 全球购物
德尔福集团DELPHI的笔试题
2012/02/22 面试题
大专生自我评价
2014/01/28 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
国家税务局干部作风整顿整改措施
2014/09/18 职场文书
党员个人对照检查材料范文
2014/09/24 职场文书
党员民主生活会材料
2014/12/15 职场文书
2015初中团支部工作总结
2015/07/21 职场文书
导游带团欢迎词
2015/09/30 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
一文弄懂MySQL索引创建原则
2022/02/28 MySQL