javascript实现遮罩层动态效果实例


Posted in Javascript onMay 14, 2019

大家在网页上注册登录的时候,经常会看见弹出的遮罩层。

我这里实现的效果是:点击按钮弹出遮罩层,遮罩层下的内容不可选,并且登录框随着鼠标滚轮的下滑,动态的浮动到页面某个位置,点击关闭按钮关闭遮罩层。

这是鼠标滚动下滑到页面中间某部分时画面。虽然界面简单颜色随意,能看出效果才是最重要的哈哈哈哈。

javascript实现遮罩层动态效果实例

以下是html界面:

<body>
<!-- 主界面 -->
<div class="main">
  <div onclick="show()">登录</div>
</div>
 
  <!-- 设置遮罩层的div -->
<div id="shade"></div>
  <!-- 设置登录框 -->
<div id="loginBox">
  <div onclick="close()">关闭</div>
</div>
 
</body>

样式表:

*{padding:0px;margin:0px;}
.main{
  width:100%;
  height:3000px;
}
#shade{
  position:absolute;//绝对定位在页面左上角
  top:0px;
  left:0px;
  z-index:1000;
  display:none;
  width:100%;
  height:100%;
  background:yellow;
  opacity:0.3;
}
#loginBox{
  position:absolute;
  top:260px;
  left:30%;
  z-index:2000;
  display:none; 
  width:400px;
  height:200px;
  background:red;
  border:1px solid red;
}

js代码部分:

<script type="text/javascript">
window.onload=function(){
	window.onscroll=function(){
		//动态设置遮罩层的宽高与屏幕可见宽高一致,实现被遮罩页面的全覆盖
		document.getElementById("shade").style.width=document.body.clientWidth+"px";
		document.getElementById("shade").style.height=document.body.clientHeight+"px";
		
		//兼容谷歌  和 ie/firefox不同浏览器,获取滚动条到浏览器顶部的位置
		var h=document.body.scrollTop + document.documentElement.scrollTop;
		//用定时器实现下滑页面时,登录框延迟从顶部下滑到指定位置  
		setTimeout(function(){
			  //设置登录框始终在界面距离顶部260px的位置,因为style.top获取的值是数值,不带单位,所以在表达式最后人为添加单位
			  document.getElementById("loginBox").style.top=260 + h +"px";
		  },200);
	}
} 
//遮罩层与登录框弹出事件
function show(){ 
  document.getElementById("shade").style.display = "block";
  document.getElementById("loginBox").style.display = "block";
}
//遮罩层与登录框隐藏事件
function close(){
  document.getElementById("shade").style.display = "none";
  document.getElementById("loginBox").style.display = "none";
}
</script>

以上就是啦~

以上所述是小编给大家介绍的javascript实现遮罩层动态效果详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jQuery对象与DOM对象之间的转换方法
Apr 15 Javascript
用js小类库获取浏览器的高度和宽度信息
Jan 15 Javascript
javascript强大的日期函数代码分享
Sep 04 Javascript
如何使用angularJs
May 08 Javascript
关于js中的鼠标事件总结
Jul 11 Javascript
微信小程序之电影影评小程序制作代码
Aug 03 Javascript
JS集合set类的实现与使用方法示例
Feb 01 Javascript
JavaScript解析机制与闭包原理实例详解
Mar 08 Javascript
Vuejs学习笔记之使用指令v-model完成表单的数据双向绑定
Apr 29 Javascript
深入理解JavaScript 箭头函数
May 30 Javascript
JS实现动态无缝轮播
Jan 11 Javascript
vue项目中监听手机物理返回键的实现
Jan 18 Javascript
JQuery animate动画应用示例
May 14 #jQuery
微信小程序的线程架构【推荐】
May 14 #Javascript
jquery实现选项卡切换代码实例
May 14 #jQuery
Vue表单之v-model绑定下拉列表功能
May 14 #Javascript
JQuery样式操作、click事件以及索引值-选项卡应用示例
May 14 #jQuery
vue实现歌手列表字母排序下拉滚动条侧栏排序实时更新
May 14 #Javascript
vue实现动态按钮功能
May 13 #Javascript
You might like
用来给图片加水印的PHP类
2008/04/09 PHP
20个PHP常用类库小结
2011/09/11 PHP
PHP分页效率终结版(推荐)
2013/07/01 PHP
php中利用explode函数分割字符串到数组
2014/02/08 PHP
redis+php实现微博(一)注册与登录功能详解
2019/09/23 PHP
javascript下string.format函数补充
2010/08/24 Javascript
JS生成不重复随机数组的函数代码
2014/06/10 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
使用bat打开多个cmd窗口执行gulp、node
2017/02/17 Javascript
详解node中创建服务进程
2017/05/09 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
jquery图片放大镜效果
2017/06/23 jQuery
微信小程序中为什么使用var that=this
2019/08/27 Javascript
如何构建 vue-ssr 项目的方法步骤
2020/08/04 Javascript
[01:03:41]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第三场 2月2日
2021/03/11 DOTA
学习python处理python编码问题
2011/03/13 Python
python爬虫入门教程--正则表达式完全指南(五)
2017/05/25 Python
python与C互相调用的方法详解
2017/07/14 Python
python正则表达式面试题解答
2020/04/28 Python
python同时替换多个字符串方法示例
2019/09/17 Python
python的time模块和datetime模块实例解析
2019/11/29 Python
vue学习笔记之动态组件和v-once指令简单示例
2020/02/29 Python
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
Zatchels官网:英国剑桥包品牌
2021/01/12 全球购物
汽车维修与检测专业应届生求职信
2013/11/12 职场文书
给医务人员表扬信
2014/01/12 职场文书
即将毕业大学生自荐信
2014/01/24 职场文书
运动会口号16字
2014/06/07 职场文书
小学美术兴趣小组活动总结
2014/07/07 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
销售员工作检讨书(推荐篇)
2014/10/18 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
妈妈别哭观后感
2015/06/08 职场文书
父亲节感言
2015/08/03 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
详解CSS3.0(Cascading Style Sheet) 层叠级联样式表
2021/07/16 HTML / CSS