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 相关文章推荐
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
Aug 18 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
Oct 15 Javascript
js图片轮播手动切换效果
Nov 10 Javascript
漂亮! js实现颜色渐变效果
Aug 12 Javascript
JS与jQuery实现子窗口获取父窗口元素值的方法
Apr 17 jQuery
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
Vue项目中使用Vux的安装过程
May 01 Javascript
vue-cli 3.x 修改dist路径的方法
Sep 19 Javascript
微信小程序整合使用富文本编辑器的方法详解
Apr 25 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
Sep 11 Javascript
echarts实现折线图的拖拽效果
Dec 19 Javascript
Vue父子传递实例讲解
Feb 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
无数据库的详细域名查询程序PHP版(3)
2006/10/09 PHP
PHP 面向对象 PHP5 中的常量
2010/05/05 PHP
PHP操作MongoDB时的整数问题及对策说明
2011/05/02 PHP
php 带逗号千位符数字的处理方法
2012/01/10 PHP
PHP cdata 处理(详细介绍)
2013/07/05 PHP
ueditor 1.2.6 使用方法说明
2013/07/24 PHP
PHP的拦截器实例分析
2014/11/03 PHP
php数组操作之键名比较与差集、交集赋值的方法
2014/11/10 PHP
CI框架实现优化文件上传及多文件上传的方法
2017/01/04 PHP
Laravel实现ORM带条件搜索分页
2019/10/24 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
javascript 闭包
2011/09/15 Javascript
JAVASCRIPT车架号识别/验证函数代码 汽车车架号验证程序
2012/01/08 Javascript
JavaScript变量声明详解
2014/11/27 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
jQuery获取访问者IP地址的方法(基于新浪API与QQ查询接口)
2016/05/25 Javascript
JavaScript 闭包机制详解及实例代码
2016/10/10 Javascript
js实现图片切换(动画版)
2016/12/25 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
Vue 引入AMap高德地图的实现代码
2019/04/29 Javascript
浅谈ECMAScript 中的Array类型
2019/06/10 Javascript
微信小程序 数据缓存实现方法详解
2019/08/26 Javascript
JS 5种遍历对象的方式
2020/06/16 Javascript
python利用beautifulSoup实现爬虫
2014/09/29 Python
Python爬虫实例扒取2345天气预报
2018/03/04 Python
python实现三次样条插值
2018/12/17 Python
Python列表元素常见操作简单示例
2019/10/25 Python
美国帽子俱乐部商店:Hat Club
2019/07/05 全球购物
水利水电专业自荐信
2014/07/08 职场文书
卖房授权委托书样本
2014/10/05 职场文书
优秀教师推荐材料
2014/12/16 职场文书
研究生导师评语
2014/12/31 职场文书
2015年档案室工作总结
2015/05/23 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
小学英语教学反思范文
2016/02/15 职场文书
vue实现简易音乐播放器
2022/08/14 Vue.js