通过遮罩层实现浮层DIV登录的js代码
发布时间:2024-06-24 00:08:58
标签:遮罩层,浮层DIV,登录
这个就没什么好说的了。。直接上代码啊!!
首先是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来实现。本人觉得这样做并不理想啊。。。
求各路大神指教啊!
0
投稿
猜你喜欢
- 密码学俱乐部的第一条规则是:永远不要自己发明密码系统。密码学俱乐部的第二条规则是:永远不要自己实现密码系统:在现实世界中,在实现以及设计密码
- 方式1:在pygame中使用pygame.event.get()方法捕获键盘事件,使用这个方式捕获的键盘事件必须要是按下再弹起才算一次。示例
- 创建列表sample_list = ['a',1,('a','b')]Python 列表操作
- 下面的方法是我对海量数据的处理方法进行了一个一般性的总结,当然这些方法可能并不能完全覆盖所有的问题,但是这样的一些方法也基本可以处理绝大多数
- 在MySQL中可以使用IF()、IFNULL()、NULLIF()、ISNULL()函数进行流程的控制。1、IF()函数的使用IF(expr
- 收集所有外部链接的网站爬虫程序流程图下例是爬取本站python绘制条形图方法代码详解的实例,大家可以参考下。完整代码:#! /usr/bin
- 用下面方法解决(管理mysql用的是navicat).,设置以下几个参数的值后就正常了,以下语句也可以在mysql的控制台上执行 . sho
- import os import sys import string #以指定模式打开指定文件,获取文件句柄 def getFileIns(
- 一,设计背景 由于所在公司ORACLE数据库较多,传统人工监控表空间的方式较耗时,且无法记录历史表空间数据,无法判断每日表空间增长
- 在修改后的 《闲谈 Web 图片服务器》 一文中也提及了"IE 浏览器的连接数问题",这也是个有趣的话题。值得补充记录一
- 本文实例总结了Python常用的小技巧。分享给大家供大家参考。具体分析如下:1. 获取本地mac地址:import uuidmac = uu
- 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512
- 针对16G内存的配置tmp_table_size = 64M先说下tmp_table_size吧:它规定了内部内存临时表的最大值,每个线程都
- 废话不多说,直接开干!抖音字符视频在今年火过一段时间。反正我是始终忘不了那段刘耕宏老师本草纲目的音乐…这一次自己也来实
- 学习 Python 使程序员能够专注于解决问题,而不是专注于语法,其丰富的库赋予它完成伟大任务所需的力量。1. IDLE使得在 Python
- 1、$_SERVER$_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户配置及当前请求环境的有关信息。根据服务器不
- 写在前面关于 ES6, 也终于在 2015 年的 7 月 18 号尘埃落定了。虽然说各大浏览器还没有全面的支持,不过这并不妨碍我们一颗想要撸
- 看代码吧~package mainimport ("fmt""io""net/http&q
- Geohash 是一种地址编码,它能把二维的经纬度编码成一维的字符串。比如,北海公园的编码是wx4g0ec1。Geohash 的原理、算法下
- GUI编程之 Pack、Place、Grid的区别本文讲述如何使用 tkinter 的布局管理 (被称作 layout managers 或