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 事件执行检测代码
Dec 09 Javascript
JavaScript中Cookies的相关使用教程
Jun 04 Javascript
几种经典排序算法的JS实现方法
Mar 25 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
Jun 08 Javascript
基于gulp合并压缩Seajs模块的方式说明
Jun 14 Javascript
JavaScript mixin实现多继承的方法详解
Mar 30 Javascript
深入理解Vue官方文档梳理之全局API
Nov 22 Javascript
bootstrap select下拉搜索插件使用方法详解
Nov 23 Javascript
详解webpack4多入口、多页面项目构建案例
May 25 Javascript
浅谈JS和jQuery的区别
Mar 27 jQuery
巧妙运用v-model实现父子组件传值的方法示例
Apr 07 Javascript
selenium+java中用js来完成日期的修改
Oct 31 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版(2)
2006/10/09 PHP
怎样在php中使用PDF文档功能
2006/10/09 PHP
不用mod_rewrite直接用php实现伪静态化页面代码
2008/10/04 PHP
apache+codeigniter 通过.htcaccess做动态二级域名解析
2012/07/01 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
PHP中__autoload和Smarty冲突的简单解决方法
2016/04/08 PHP
Ajax PHP JavaScript MySQL实现简易无刷新在线聊天室
2016/08/17 PHP
统一接口:为FireFox添加IE的方法和属性的js代码
2007/03/25 Javascript
JavaScript面象对象设计
2008/04/28 Javascript
javascript 手动给表增加数据的小例子
2013/07/10 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
jQuery实现异步获取json数据的2种方式
2014/08/29 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
2014/12/31 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
2015/04/06 Javascript
深入理解Nodejs Global 模块
2017/06/03 NodeJs
详解Vue + Vuex 如何使用 vm.$nextTick
2017/11/20 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
javascript将json格式数组下载为excel表格的方法
2017/12/22 Javascript
解决nodejs的npm命令无反应的问题
2018/05/17 NodeJs
vuex存储token示例
2019/11/11 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
[04:02]DOTA2上海特锦赛小组赛第二日recap精彩回顾
2016/02/28 DOTA
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
Pycharm编辑器技巧之自动导入模块详解
2017/07/18 Python
Django中的session用法详解
2020/03/09 Python
Python高并发和多线程有什么关系
2020/11/14 Python
Linux文件系统类型
2012/09/16 面试题
园长自我鉴定
2013/10/06 职场文书
《美丽的田园》教学反思
2014/03/01 职场文书
家长学校实施方案
2014/03/15 职场文书
《社戏》教学反思
2014/04/15 职场文书
教师节演讲稿
2014/05/06 职场文书
高质量“欢迎词”
2019/04/03 职场文书
left join、inner join、right join的区别
2021/04/05 MySQL
Html5通过数据流方式播放视频的实现
2021/04/27 HTML / CSS
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python