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 相关文章推荐
解决表单中第一个非隐藏的元素获得焦点的一个方案
Oct 26 Javascript
基于jquery的手风琴图片展示效果实现方法
Dec 16 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
Apr 13 Javascript
微信小程序 request接口的封装实例代码
Apr 26 Javascript
微信小程序 开发之全局配置
May 05 Javascript
微信小程序实现锚点定位楼层跳跃的实例
May 18 Javascript
javascript Function函数理解与实战
Dec 01 Javascript
手把手教你写一个微信小程序(推荐)
Oct 17 Javascript
vue-cli4.x创建企业级项目的方法步骤
Jun 18 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
Jul 19 Javascript
如何使JavaScript休眠或等待
Apr 27 Javascript
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
Apr 09 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
PHP的宝库目录--PEAR
2006/10/09 PHP
解析php通过cookies获取远程网页的指定代码
2013/06/25 PHP
PHP中is_file()函数使用指南
2015/05/08 PHP
PHP基于单例模式实现的mysql类
2016/01/09 PHP
jQuery 行背景颜色的交替显示(隔行变色)实现代码
2009/12/13 Javascript
nodejs简单实现中英文翻译
2015/05/04 NodeJs
简介JavaScript中getUTCMonth()方法的使用
2015/06/10 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
javascript中if和switch,==和===详解
2015/07/30 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
如何解决ligerUI布局时Center中的Tab高度大小
2015/11/24 Javascript
使用 stylelint检查CSS_StyleLint
2016/04/28 Javascript
基于jQuery实现发送短信验证码后的倒计时功能(无视页面关闭)
2016/09/02 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
javascript实现简易计算器
2017/02/01 Javascript
angular5 子组件监听父组件传入值的变化方法
2018/09/30 Javascript
利用Bootstrap Multiselect实现下拉框多选功能
2019/04/08 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
Python遍历目录的4种方法实例介绍
2015/04/13 Python
Python学习笔记之解析json的方法分析
2017/04/21 Python
简单谈谈python中的语句和语法
2017/08/10 Python
python3.6使用pymysql连接Mysql数据库
2018/05/25 Python
python json.loads兼容单引号数据的方法
2018/12/19 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
python实现文件的分割与合并
2019/08/29 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
GafasWorld西班牙:购买太阳镜、眼镜和隐形眼镜
2019/09/08 全球购物
华美博弈C/VC工程师笔试试题
2012/07/16 面试题
分公司经理岗位职责
2013/11/11 职场文书
2014年国培研修感言
2014/03/09 职场文书
质量管理标语
2014/06/12 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
PHP判断是否是json字符串
2021/04/01 PHP
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript