javascript实现遮罩层动态效果实例

 更新时间:2019年05月14日 09:18:56   作者:FutureLilian  
这篇文章主要介绍了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实现遮罩层动态效果详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • ajax在js中和jQuery中的用法实例详解

    ajax在js中和jQuery中的用法实例详解

    Ajax被认为是(Asynchronous(异步) JavaScript And Xml的缩写),现在允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax,下面这篇文章主要给大家介绍了关于ajax在js中和jQuery中的用法,需要的朋友可以参考下
    2021-08-08
  • Javascript中string转date示例代码

    Javascript中string转date示例代码

    string转date的方法有很多,在接下来为大家介绍下Javascript中是如何做到的,感性取的朋友不要错过
    2013-11-11
  • 微信小程序实现手写签名(签字版)

    微信小程序实现手写签名(签字版)

    这篇文章主要为大家详细介绍了微信小程序实现手写签名,签字版,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • clipboard.js在移动端复制失败的解决方法

    clipboard.js在移动端复制失败的解决方法

    最近在使用clipboard.js碰到的一个小问题,通过查找相关资料解决了,所以下面这篇文章主要给大家介绍了关于clipboard.js在移动端复制失败的解决方法,需要的朋友可以参考借鉴,下面来一起学习学习吧
    2018-06-06
  • JavaScript记录光标在编辑器中位置的实现方法

    JavaScript记录光标在编辑器中位置的实现方法

    这篇文章主要介绍了JavaScript记录光标在编辑器中位置的实现方法,涉及JavaScript鼠标事件结合页面元素的操作技巧,需要的朋友可以参考下
    2016-04-04
  • JavaScript中的property和attribute介绍

    JavaScript中的property和attribute介绍

    JavaScript中的property和attribute介绍,需要的朋友可以参考下。
    2011-12-12
  • JavaScript数组操作之旋转二维数组

    JavaScript数组操作之旋转二维数组

    这篇文章主要介绍了JavaScript数组操作之旋转二维数组,主要从两个方面展开文章介绍,一是通过对数组的操作熟练度;二是(镜像反转)比实现一更优,减少了空间复杂度,内容介绍具有一定的参考价值,需要的小伙伴可以参考一下
    2022-04-04
  • javascript算法之数组反转

    javascript算法之数组反转

    这篇文章主要介绍了javascript算法之数组反转,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • ExtJs异步无法向外传值和赋值的完美解决办法

    ExtJs异步无法向外传值和赋值的完美解决办法

    这篇文章主要介绍了ExtJs异步无法向外传值和赋值的完美解决办法,需要的朋友可以参考下
    2017-06-06
  • js设置组合快捷键/tabindex功能的方法

    js设置组合快捷键/tabindex功能的方法

    本文主要介绍用js设置tabindex功能和js设置组合快捷键的方法,很简单,这样可以增强用户体验,方法就在下面
    2013-11-11

最新评论