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 相关文章推荐
Mootools 1.2教程 选项卡效果(Tabs)
Sep 15 Javascript
通过DOM脚本去设置样式信息
Sep 19 Javascript
使用jQuery实现返回顶部
Jan 26 Javascript
Jquery注册事件实现方法
May 18 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
Sep 05 Javascript
Bootstrap栅格系统学习笔记
Nov 25 Javascript
vue 录制视频并压缩视频文件的方法
Jul 27 Javascript
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
js屏蔽退格键(backspace或者叫后退键与F5)
Feb 10 Javascript
mpvue开发音频类小程序踩坑和建议详解
Mar 12 Javascript
微信小程序swiper实现文字纵向轮播提示效果
Jan 21 Javascript
vue项目实现多语言切换的思路
Sep 17 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安装全攻略:APACHE
2006/10/09 PHP
使用PHP提取视频网站页面中的FLASH地址的代码
2010/04/17 PHP
destoon二次开发入门示例
2014/06/20 PHP
php出租房数据管理及搜索页面
2017/05/23 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
Jquery getJSON方法详细分析
2013/12/26 Javascript
Jquery通过JSON字符串创建JSON对象
2014/08/24 Javascript
Javascript前端UI框架Kit使用指南之Kitjs简介
2014/11/28 Javascript
深入理解JavaScript 函数
2016/06/06 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
JCrop+ajaxUpload 图像切割上传的实例代码
2016/07/20 Javascript
jQuery的Cookie封装,与PHP交互的简单实现
2016/10/05 Javascript
使用JavaScript保存文本文件到本地的两种方法
2019/01/22 Javascript
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
python3 读写文件换行符的方法
2018/04/09 Python
python使用udp实现聊天器功能
2018/12/10 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
Python字节单位转换(将字节转换为K M G T)
2021/03/02 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
HTML5自定义属性的问题分析
2019/08/16 HTML / CSS
HTML5中在title标题标签里设置小图标的方法
2020/06/23 HTML / CSS
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
四查四看剖析材料
2014/02/14 职场文书
学雷锋志愿服务月活动总结
2014/03/09 职场文书
坚定理想信念心得体会
2014/03/11 职场文书
校园文化标语
2014/06/18 职场文书
学校党的群众路线教育实践活动总结报告
2014/07/03 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
2015团员个人年度总结
2015/11/24 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server