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 HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
Jun 02 Javascript
JS 控制非法字符的输入代码
Dec 04 Javascript
js批量设置样式的三种方法不推荐使用with
Feb 25 Javascript
浅谈angular.js中实现双向绑定的方法$watch $digest $apply
Oct 14 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
May 05 Javascript
vue完成项目后,打包成静态文件的方法
Sep 03 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
Dec 19 Javascript
详解将微信小程序接口Promise化并使用async函数
Aug 05 Javascript
JS对象属性的检测与获取操作实例分析
Mar 17 Javascript
vuejs实现下拉框菜单选择
Oct 23 Javascript
js实现简易计算器小功能
Nov 18 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中用文本文件做数据库的实现方法
2008/03/27 PHP
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
php常用字符串比较函数实例汇总
2014/11/24 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
PHP的mysqli_stat()函数讲解
2019/01/23 PHP
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
JS实现pasteHTML兼容ie,firefox,chrome的方法
2016/06/22 Javascript
AngularJS表格详解及示例代码
2016/08/17 Javascript
Ionic默认的Tabs模板使用实例
2016/08/29 Javascript
微信小程序 教程之事件
2016/10/18 Javascript
js+div+css下拉导航菜单完整代码分享
2016/12/28 Javascript
jQuery实现在HTML文档加载完毕后自动执行某个事件的方法
2017/05/08 jQuery
JavaScript时间戳与时间日期间相互转换
2017/12/11 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
详解使用mpvue开发github小程序总结
2018/07/25 Javascript
vue基础之使用get、post、jsonp实现交互功能示例
2019/03/12 Javascript
JS实现checkbox互斥(单选)功能示例
2019/05/04 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
[03:40]DOTA2亚洲邀请赛小组赛第二日 赛事回顾
2015/01/31 DOTA
Python的Flask站点中集成xhEditor文本编辑器的教程
2016/06/13 Python
python编程实现归并排序
2017/04/14 Python
python实现音乐下载的统计
2018/06/20 Python
Python异常处理操作实例详解
2018/08/28 Python
详解Python中is和==的区别
2019/03/21 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
鲜为人知的HTML5语音合成功能
2019/05/17 HTML / CSS
英国厨房与餐具用品为主的设计品牌:Joseph Joseph
2018/04/26 全球购物
Whistles官网:英国女装品牌
2020/08/14 全球购物
Java语言程序设计测试题选择题部分
2014/04/03 面试题
医院党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
“爱眼护眼,提前预防近视”倡议书3篇
2019/10/30 职场文书
go:垃圾回收GC触发条件详解
2021/04/24 Golang
带你了解Java中的ForkJoin
2022/04/28 Java/Android
Python使用plt.boxplot()函数绘制箱图、常用方法以及含义详解
2022/08/14 Python