css+js实现一个弹出层,完成注册功能 带有遮罩层,比较简单
2015-04-01 15:32
1066 查看
根据网上的列子自己具体实现
首先看下HTML 代码,即要弹出的注册层代码:
放在<BODY></BODY>
1.<div id="alert">
2.<h4><span>正在注册</span><span id="close">关闭</span></h4>
3.<form >
4.<p><label>用户名</label><input type="text" id=reuser class="myinp" onmouseover="this.style.border='1px solid #f60'"
onfocus="this.style.border='1px solid #f60'" onblur="this.style.border='1px solid #ccc'"/></p>
5. <p><label> 密 码</label><input type="password" id=repassword class="myinp" onmouseover="this.style.border='1px solid #f60'" onfocus="this.style.border='1px solid #f60'" onblur="this.style.border='1px solid #ccc'" /></p>
6. <p><input type="button" id="register" value="注册" class="sub" onclick='check()'/><input type="reset" value="重置" class="sub" /></p>
</form>
</div>
下面分别解释下:
1对应创建一个DIV标签,即弹出的DIV层
2.用在DIV层的上边界,来输出提示信息,<span>标签是用来针对提示信息进行格式化的 一会的<style>标签里会用到。
3.创建一个表单,因为只有在表单里,按钮reset功能才能够实现,即清空注册框
4.创建一个LABEL显示“用户名”,后边跟一个input提示框,class="myinp"应用了myinp样式,onmouseover当鼠标划过的时候触发改变输入框边框的样式(边框宽度1PX 实线 #f60颜色) onfocus属性是表示当获取焦点后出发事件,即当鼠标点到输入框中出发this.style.border='1px solid #f60' 这个属性,onblur表示失去焦点后触发一个属性。
5同上解释
6.创建一个注册和重置按钮,并调用JS中的check()函数。
接下来看一下<style> 放在<head></head>中:
<style>
{margin:0;padding:0;font-size:12px;}
html,body {height:100%;width:100%;}
#alert {border:1px solid #369;width:350px;height:200px;background:#e2ecf5;z-index:1000;position:absolute;display:none;} // 这句是将ID为alert的DIV进行整体设置,开始设置为边框1PX,实线,#369颜色,宽度350PX 告诉200PX 背景颜色#e2ecf5 Z-INDEX属性表示将层放在最上边,位置是绝对,重点是display:none 这句话是将我们刚才设置好的DIV层进行隐藏,你在页面上是看不到的,当点击按钮触发一个事件才让这个DIV层显示出来。
接下来的都是对DIV内部的一些标签进行格式化:
#alert h4 {height:20px;background:#369;color:#fff;padding:5px 0 0 5px;}
#alert h4 span {float:left;}
#alert h4 span#close {margin-left:210px;font-weight:500;cursor:pointer;}
#alert p {padding:12px 0 0 30px;}
#alert p label {margin-left:50px;}
#alert p input {width:120px;margin-left:20px;}
#alert p input.myinp {border:1px solid #ccc;height:16px;} //myinp样式
#alert p input.sub {width:60px;margin-left:60px;}
</style>
最后来看一下重点的JS里边的函数:
function res()
{
var myAlert = document.getElementById("alert"); //根据ID获得DIV弹出层的对象
var mClose = document.getElementById("close"); //根据ID获得DIV弹出层中的close标签对象,为了对close增加点击事件
myAlert.style.display = "block"; //点击后将我们的DIV弹出层显示出来
myAlert.style.position = "absolute"; //设置位置方式 绝对
myAlert.style.top = "40%"; //css的left和top属性指的是距最近的一个position属性为relative或者absolute的父级元素的左边或上边的距离,所以当要设置css的top和left
的属性时,一定要确保定义position为absolute或者relative;
myAlert.style.left = "50%";
myAlert.style.marginTop = "-75px"; //设置元素的上外边界
myAlert.style.marginLeft = "-150px"; //设置元素的左外边界 如果只用myAlert.style.top 和left 也可进行定位
mybg = document.createElement("div"); //创建一个DIV即遮盖层
mybg.setAttribute("id","mybg"); //设置属性,
mybg.style.background = "#000"; //设置背景为黑色
mybg.style.width = "100%"; //宽度100%即覆盖整个页面
mybg.style.height = "100%"; //高度100%配合宽度覆盖整个页面
mybg.style.position = "absolute"; //位置
mybg.style.top = "0"; //上边界为0
mybg.style.left = "0"; //左边界为0
mybg.style.zIndex = "500"; //这里设置了层的位置,数值为500即是在我们想要弹出的注册层(z-index 为1000)的下边,显示出遮盖效果,(数值约大约在最上
层)
mybg.style.opacity = "0.3"; //设置 div 元素的不透明级别 这里就是实现了遮盖同时又可以显示出我们的登录界面
mybg.style.filter = "Alpha(opacity=30)"; //设置透明层次opacity的值从0-100,0为全透明 100为原图
document.body.appendChild(mybg); //采用appendchild函数将新创建的DIV遮盖曾添加到BODY元素里
document.body.style.overflow = "hidden"; //当规定的内容溢出元素框时候,出发的效果,本例子即是内容溢出body后全部隐藏
mClose.onclick = function() //给close对象添加一个点击函数,当点击关闭时候,背景遮盖层DIV和弹出层DIV全部都隐藏起来,display属性为none
{
myAlert.style.display = "none";
mybg.style.display = "none";
};
}
首先看下HTML 代码,即要弹出的注册层代码:
放在<BODY></BODY>
1.<div id="alert">
2.<h4><span>正在注册</span><span id="close">关闭</span></h4>
3.<form >
4.<p><label>用户名</label><input type="text" id=reuser class="myinp" onmouseover="this.style.border='1px solid #f60'"
onfocus="this.style.border='1px solid #f60'" onblur="this.style.border='1px solid #ccc'"/></p>
5. <p><label> 密 码</label><input type="password" id=repassword class="myinp" onmouseover="this.style.border='1px solid #f60'" onfocus="this.style.border='1px solid #f60'" onblur="this.style.border='1px solid #ccc'" /></p>
6. <p><input type="button" id="register" value="注册" class="sub" onclick='check()'/><input type="reset" value="重置" class="sub" /></p>
</form>
</div>
下面分别解释下:
1对应创建一个DIV标签,即弹出的DIV层
2.用在DIV层的上边界,来输出提示信息,<span>标签是用来针对提示信息进行格式化的 一会的<style>标签里会用到。
3.创建一个表单,因为只有在表单里,按钮reset功能才能够实现,即清空注册框
4.创建一个LABEL显示“用户名”,后边跟一个input提示框,class="myinp"应用了myinp样式,onmouseover当鼠标划过的时候触发改变输入框边框的样式(边框宽度1PX 实线 #f60颜色) onfocus属性是表示当获取焦点后出发事件,即当鼠标点到输入框中出发this.style.border='1px solid #f60' 这个属性,onblur表示失去焦点后触发一个属性。
5同上解释
6.创建一个注册和重置按钮,并调用JS中的check()函数。
接下来看一下<style> 放在<head></head>中:
<style>
{margin:0;padding:0;font-size:12px;}
html,body {height:100%;width:100%;}
#alert {border:1px solid #369;width:350px;height:200px;background:#e2ecf5;z-index:1000;position:absolute;display:none;} // 这句是将ID为alert的DIV进行整体设置,开始设置为边框1PX,实线,#369颜色,宽度350PX 告诉200PX 背景颜色#e2ecf5 Z-INDEX属性表示将层放在最上边,位置是绝对,重点是display:none 这句话是将我们刚才设置好的DIV层进行隐藏,你在页面上是看不到的,当点击按钮触发一个事件才让这个DIV层显示出来。
接下来的都是对DIV内部的一些标签进行格式化:
#alert h4 {height:20px;background:#369;color:#fff;padding:5px 0 0 5px;}
#alert h4 span {float:left;}
#alert h4 span#close {margin-left:210px;font-weight:500;cursor:pointer;}
#alert p {padding:12px 0 0 30px;}
#alert p label {margin-left:50px;}
#alert p input {width:120px;margin-left:20px;}
#alert p input.myinp {border:1px solid #ccc;height:16px;} //myinp样式
#alert p input.sub {width:60px;margin-left:60px;}
</style>
最后来看一下重点的JS里边的函数:
function res()
{
var myAlert = document.getElementById("alert"); //根据ID获得DIV弹出层的对象
var mClose = document.getElementById("close"); //根据ID获得DIV弹出层中的close标签对象,为了对close增加点击事件
myAlert.style.display = "block"; //点击后将我们的DIV弹出层显示出来
myAlert.style.position = "absolute"; //设置位置方式 绝对
myAlert.style.top = "40%"; //css的left和top属性指的是距最近的一个position属性为relative或者absolute的父级元素的左边或上边的距离,所以当要设置css的top和left
的属性时,一定要确保定义position为absolute或者relative;
myAlert.style.left = "50%";
myAlert.style.marginTop = "-75px"; //设置元素的上外边界
myAlert.style.marginLeft = "-150px"; //设置元素的左外边界 如果只用myAlert.style.top 和left 也可进行定位
mybg = document.createElement("div"); //创建一个DIV即遮盖层
mybg.setAttribute("id","mybg"); //设置属性,
mybg.style.background = "#000"; //设置背景为黑色
mybg.style.width = "100%"; //宽度100%即覆盖整个页面
mybg.style.height = "100%"; //高度100%配合宽度覆盖整个页面
mybg.style.position = "absolute"; //位置
mybg.style.top = "0"; //上边界为0
mybg.style.left = "0"; //左边界为0
mybg.style.zIndex = "500"; //这里设置了层的位置,数值为500即是在我们想要弹出的注册层(z-index 为1000)的下边,显示出遮盖效果,(数值约大约在最上
层)
mybg.style.opacity = "0.3"; //设置 div 元素的不透明级别 这里就是实现了遮盖同时又可以显示出我们的登录界面
mybg.style.filter = "Alpha(opacity=30)"; //设置透明层次opacity的值从0-100,0为全透明 100为原图
document.body.appendChild(mybg); //采用appendchild函数将新创建的DIV遮盖曾添加到BODY元素里
document.body.style.overflow = "hidden"; //当规定的内容溢出元素框时候,出发的效果,本例子即是内容溢出body后全部隐藏
mClose.onclick = function() //给close对象添加一个点击函数,当点击关闭时候,背景遮盖层DIV和弹出层DIV全部都隐藏起来,display属性为none
{
myAlert.style.display = "none";
mybg.style.display = "none";
};
}
相关文章推荐
- js制作带有遮罩弹出层实现登录注册表单特效代码分享
- ant design+node.js+mongoose实现一个简单的注册登录功能
- JS+CSS简单实现DIV遮罩层显示隐藏【转藏】
- 简单的js+css的输入框自动提示功能实现
- JS+CSS简单实现DIV遮罩层显示隐藏
- 用原生JS实现一个简单计算的功能实例
- Node.js+Express+MongoDB实现简单登录注册功能
- 利用node.js+mongodb如何搭建一个简单登录注册的功能详解
- node.js非常简单实现登录注册功能-学习小demo
- JS使用遮罩实现点击某区域以外时弹窗的弹出与关闭功能示例
- JS+CSS简单实现DIV遮罩层显示隐藏
- 实现简单弹出栏目js+css
- 一个较简单的js实现checkbox的全选与全不选功能
- JS+CSS简单实现DIV遮罩层显示隐藏
- js+Css实现的一个简单对话框
- js实现一个简单的锁屏功能
- JS+CSS简单实现DIV遮罩层显示隐藏
- JS+CSS简单实现DIV遮罩层显示隐藏
- 用js实现弹出最简单的模式化遮罩层
- css+js简单实现126邮箱注册页面