jQuery点击按钮弹出遮罩层且内容居中特效


Posted in Javascript onDecember 14, 2015

本文为大家分享了jQuery点击按钮弹出遮罩层且内容居中的特效,下面来看最终实现的效果:

jQuery点击按钮弹出遮罩层且内容居中特效

由于是测试的程序,所以我未加关闭的按钮。
一、主体程序

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>弹出居中遮罩</title>
  <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  <link rel="stylesheet" type="text/css" href="css/layout.css"/>
 </head>
 <body>
  <section class="test">
   这里是主体内容<br />
  <input type="button" class="testButton" value="弹出遮罩" />
  </section>
  <section class="testBg">
   <section class="testCont">
    这里是弹出的内容测试
   </section>
  </section>
  <script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>
  <script src="js/layout.js" type="text/javascript" charset="utf-8"></script>
 </body>
</html>

二、CSS样式

*{
 margin: 0;
 padding: 0;
}
.testBg{
 position: absolute;
 top: 0;
 background-color: #000;
 filter:alpha(opacity=80); /* IE */ 
 -moz-opacity:0.8; /* Moz + FF */ 
 opacity: 0.8; /* 支持CSS3的浏览器(FF 1.5也支持)*/
 display:none ;     
}
.testBg .testCont{
 position: absolute;
 top: 0;
 left: 0;
 width:200px;
 border: 1px #ffc700 solid;
 color: #ffc700;
}

三、JS程序
这个才是本次随笔所说的重点,下面来看一段错误的JS程序:

$(function(){
 $(".testBg").height($(window).height()).width($(window).width()); //使遮罩的背景覆盖整个页面
 var testContTop=($(window).height()-$(".testCont").height())/2;  //计算弹出的框距离页面顶部的距离
 var testContWidth=($(window).width()-$(".testCont").width())/2;   //计算弹出的框距离页面左边的距离
 $(".testCont").css({
  "top":testContTop,
  "left":testContWidth
 });
 $(".testButton").click(function(){
  $(".testBg").show();
 }) 
})

上面这段程序看起来没有问题,那么来看一下输出的结果:

 jQuery点击按钮弹出遮罩层且内容居中特效

实际测量的时候上下的间距是不一致的。 

那么正确的JS程序是:

$(function(){
 $(".testBg").height($(window).height()).width($(window).width());//使遮罩的背景覆盖整个页面
 
 $(".testButton").click(function(){
  $(".testBg").show();
  showDiv();
 }) 
})
function showDiv(){
  
 var testContTop=($(window).height()-$(".testCont").height())/2; //计算弹出的框距离页面顶部的距离
 var testContWidth=($(window).width()-$(".testCont").width())/2; //计算弹出的框距离页面左边的距离
 $(".testCont").css({
  "top":testContTop,
  "left":testContWidth
 });
}

从上面程序可以看出在遮罩层弹出显示以后再执行一个函数动态的设置弹出层的背景大小和距离页面的上间距和左间距,而不是一开始加载JS时就已经设置好弹出层各项参数。

以上就是本文的全部内容,教大家如何实现点击按钮弹出遮罩层且内容居中的效果,

Javascript 相关文章推荐
高效的表格行背景隔行变色及选定高亮的JS代码
Dec 04 Javascript
jQuery不兼容input的change事件问题解决过程
Dec 05 Javascript
javascript实现unicode与ASCII相互转换的方法
Dec 10 Javascript
前端jquery部分很精彩
May 03 Javascript
微信小程序  自定义创建详细介绍
Oct 27 Javascript
setTimeout学习小结
Feb 08 Javascript
bootstrap轮播图示例代码分享
May 17 Javascript
对vue 键盘回车事件的实例讲解
Aug 25 Javascript
vue项目配置使用flow类型检查的步骤
Mar 18 Javascript
element-ui tree结构实现增删改自定义功能代码
Aug 31 Javascript
jQuery实现带进度条的轮播图
Sep 13 jQuery
详解CocosCreator消息分发机制
Apr 16 Javascript
jquery实现倒计时效果
Dec 14 #Javascript
JavaScript 七大技巧(一)
Dec 13 #Javascript
JavaScript 七大技巧(二)
Dec 13 #Javascript
js自定义回调函数
Dec 13 #Javascript
由浅入深讲解Javascript继承机制与simple-inheritance源码分析
Dec 13 #Javascript
分享Javascript实用方法二
Dec 13 #Javascript
JavaScript判断按钮被点击的方法
Dec 13 #Javascript
You might like
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
Php部分常见问题总结
2006/10/09 PHP
php查看session内容的函数
2008/08/27 PHP
php计算一个文件大小的方法
2015/03/30 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
利用PHP计算有多少小于当前数字的数字方法示例
2020/08/26 PHP
支持ie与FireFox的剪切板操作代码
2009/09/28 Javascript
php对mongodb的扩展(小试牛刀)
2012/11/11 Javascript
jQuery 淡入淡出 png图在ie8下有黑色边框的解决方法
2013/03/05 Javascript
js判断undefined变量类型使用typeof
2013/06/03 Javascript
使用javascript控制cookie显示和隐藏背景图
2014/02/12 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
js判断当前页面在移动设备还是在PC端中打开
2016/01/06 Javascript
详解JavaScript模块化开发
2016/12/04 Javascript
Bootstrap CSS组件之按钮组(btn-group)
2016/12/17 Javascript
js点击任意区域弹出层消失实现代码
2016/12/27 Javascript
解决URL地址中的中文乱码问题的办法
2017/02/10 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
深入了解js原型模式
2019/05/30 Javascript
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
Python实现上下班抢个顺风单脚本
2018/02/07 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
结构和类有什么异同
2012/07/16 面试题
楼面经理岗位职责范本
2014/02/18 职场文书
成龙霸王洗发水广告词
2014/03/14 职场文书
租房合同协议书
2014/04/09 职场文书
土地转让协议书
2014/04/15 职场文书
财务工作疏忽检讨书
2014/09/11 职场文书
先进员工事迹材料
2014/12/20 职场文书
2015年教务处干事工作总结
2015/07/22 职场文书
导游词之寿县报恩寺
2020/01/19 职场文书
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏
vue 把二维或多维数组转一维数组
2022/04/24 Vue.js
vue实现登陆页面开发实践
2022/05/30 Vue.js