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连接access数据库的方法
Nov 17 Javascript
js判断选择的时间是否大于今天的代码
Aug 20 Javascript
showModelDialog弹出文件下载窗口的使用示例
Nov 19 Javascript
Jquery实现自定义窗口随意的拖拽
Mar 12 Javascript
javascript实现一个简单的弹出窗
Feb 22 Javascript
Bootstrap table 定制提示语的加载过程
Feb 20 Javascript
JavaScript数据结构学习之数组、栈与队列
May 02 Javascript
AngularJS实现tab选项卡的方法详解
Jul 05 Javascript
Echart折线图手柄触发事件示例详解
Dec 16 Javascript
微信小程序在text文本实现多种字体样式
Nov 08 Javascript
浅谈vue 组件中的setInterval方法和window的不同
Jul 30 Javascript
解决vue项目运行npm run serve报错的问题
Oct 26 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
预告映像公开!第1章续篇剧场版动画《Princess Principal Crown Handler》4月10日上映!
2020/03/06 日漫
php基于session实现数据库交互的类实例
2015/08/03 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
2015/09/23 PHP
js获取当前select 元素值的代码
2010/04/19 Javascript
js中的this关键字详解
2013/09/25 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
JavaScript 七大技巧(二)
2015/12/13 Javascript
Bootstrap实现带动画过渡的弹出框
2016/08/09 Javascript
XMLHttpRequest Level 2 使用指南
2016/08/26 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
js实现表格数据搜索
2020/08/09 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
vue单元格多列合并的实现
2020/11/26 Vue.js
js数组的基本使用总结
2021/01/18 Javascript
Python中的面向对象编程详解(上)
2015/04/13 Python
python多进程和多线程究竟谁更快(详解)
2017/05/29 Python
Python实现复杂对象转JSON的方法示例
2017/06/22 Python
python生成二维码的实例详解
2017/10/29 Python
Python实现合并同一个文件夹下所有txt文件的方法示例
2018/04/26 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
Django 查询数据库并返回页面的例子
2019/08/12 Python
NumPy统计函数的实现方法
2020/01/21 Python
python中remove函数的踩坑记录
2021/01/04 Python
通过HTML5 Canvas API绘制弧线和圆形的教程
2016/03/14 HTML / CSS
曼城官方网上商店:Manchester City
2019/09/10 全球购物
JMS中Topic和Queue有什么区别
2013/05/15 面试题
矫正人员思想汇报
2014/01/08 职场文书
高中综合实践活动总结
2014/07/07 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
工作检讨书范文
2015/01/23 职场文书
行政主管岗位职责
2015/02/03 职场文书
办公室个人总结
2015/02/28 职场文书
2015年医院科室工作总结范文
2015/05/26 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL