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 相关文章推荐
JavaScript实现拼音排序的方法
Nov 20 Javascript
EditPlus注册码生成器(js代码实现)
Mar 25 Javascript
JS方法调用括号的问题探讨
Jan 24 Javascript
Node.js中对通用模块的封装方法
Jun 06 Javascript
浅析BootStrap栅格系统
Jun 07 Javascript
js利用appendChild对标签进行排序的实现方法
Oct 16 Javascript
Vue指令的钩子函数使用方法
Mar 20 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
Jul 28 Javascript
对于Javascript 执行上下文的全面了解
Sep 05 Javascript
微信小程序实现倒计时调用相机自动拍照功能
Jun 10 Javascript
Angular Excel 导入与导出的实现代码
Apr 17 Javascript
Typescript3.9 常用新特性一览(推荐)
May 14 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
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
PHP批量生成静态HTML的简单原理和方法
2014/04/20 PHP
ECSHOP完美解决Deprecated: preg_replace()报错的问题
2016/05/17 PHP
利用jQuery 实现GridView异步排序、分页的代码
2010/02/06 Javascript
jQuery 性能优化手册 推荐
2010/02/23 Javascript
javascript 模式设计之工厂模式学习心得
2010/04/27 Javascript
下载文件个别浏览器文件名乱码解决办法
2013/03/19 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
js实现网站最上边可关闭的浮动广告条代码
2015/09/04 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
js对象浅拷贝和深拷贝详解
2016/09/05 Javascript
Three.js快速入门教程
2016/09/09 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
Vue 组件(component)教程之实现精美的日历方法示例
2018/01/08 Javascript
Vue2.0 事件的广播与接收(观察者模式)
2018/03/14 Javascript
layui固定下拉框的显示条数(有滚动条)的方法
2019/09/10 Javascript
浅谈vue中$bus的使用和涉及到的问题
2020/07/28 Javascript
基于Ionic3实现选项卡切换并重新加载echarts
2020/09/24 Javascript
[43:47]完美世界DOTA2联赛PWL S3 LBZS vs Phoenix 第一场 12.09
2020/12/11 DOTA
python调用新浪微博API项目实践
2014/07/28 Python
Python中类的初始化特殊方法
2017/12/01 Python
python文件拆分与重组实例
2018/12/10 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
python实现通过队列完成进程间的多任务功能示例
2019/10/28 Python
Django 简单实现分页与搜索功能的示例代码
2019/11/07 Python
Python批量修改xml的坐标值全部转为整数的实例代码
2020/11/26 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
骨干教师事迹材料
2014/12/17 职场文书
社区党支部公开承诺书
2015/04/29 职场文书
会计入职心得体会
2016/01/22 职场文书
python中subplot大小的设置步骤
2021/06/28 Python
python如何将mat文件转为png
2022/07/15 Python