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学习点滴 call、apply的区别
Oct 22 Javascript
js将long日期格式转换为标准日期格式实现思路
Apr 07 Javascript
JavaScript中的异常捕捉介绍
Dec 31 Javascript
jquery+php实现滚动的数字特效
Nov 29 Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
Dec 04 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
Apr 27 Javascript
JS获取html元素的标记名实现方法
Oct 08 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
Nov 25 Javascript
深入理解javascript中concat方法
Dec 12 Javascript
JS实现滚动条触底加载更多
Sep 19 Javascript
js+css3实现炫酷时钟
Aug 18 Javascript
JS绘图Flot如何实现可选显示曲线图功能
Oct 16 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_xmlhttp 乱码问题解决方法
2009/08/07 PHP
在VS2008中编译MYSQL5.1.48的方法
2010/07/03 PHP
有关php运算符的知识大全
2011/11/03 PHP
php5.3中连接sqlserver2000的两种方法(com与ODBC)
2012/12/29 PHP
通过curl模拟post和get方式提交的表单类
2014/04/23 PHP
ThinkPHP实现事务回滚示例代码
2014/06/23 PHP
php传值方式和ajax的验证功能
2017/03/27 PHP
Javascript中的常见排序算法
2007/03/27 Javascript
javascript中获取下个月一号,是星期几
2012/06/01 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
BootStrap tab选项卡使用小结
2020/08/09 Javascript
拖动时防止选中
2017/02/03 Javascript
JS通过调用微信API实现微信支付功能的方法示例
2017/06/29 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
python以环状形式组合排列图片并输出的方法
2015/03/17 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
Python操作qml对象过程详解
2019/09/26 Python
python命令 -u参数用法解析
2019/10/24 Python
python 实现将小图片放到另一个较大的白色或黑色背景图片中
2019/12/12 Python
使用python matploblib库绘制准确率,损失率折线图
2020/06/16 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
Python用access判断文件是否被占用的实例方法
2020/12/17 Python
印尼综合在线预订网站:Tiket.com(机票、酒店、火车、租车和娱乐)
2018/10/11 全球购物
伊莱克斯阿根廷网上商店:Tienda Electrolux
2021/03/08 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
电脑教师的自我评价
2013/12/18 职场文书
24岁生日感言
2014/01/13 职场文书
市场部管理制度
2014/02/02 职场文书
致垒球运动员加油稿
2014/02/16 职场文书
拒绝黄毒毒宣传标语
2014/06/26 职场文书
学生自我评语
2015/01/04 职场文书
武夷山导游词
2015/02/03 职场文书
研究生简历自我评
2015/03/11 职场文书
2015年污水处理厂工作总结
2015/05/26 职场文书
详解MySQL 用户权限管理
2021/04/20 MySQL