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 与或运算符 || &amp;&amp; 妙用
Dec 09 Javascript
JavaScript DOM学习第六章 表单实例
Feb 19 Javascript
jQuery :first选择器使用介绍
Aug 09 Javascript
基于JavaScript实现div层跟随滚动条滑动
Jan 12 Javascript
Node.js项目中调用JavaScript的EJS模板库的方法
Mar 11 Javascript
js判断浏览器是否支持严格模式的方法
Oct 04 Javascript
javascript简易画板开发
Apr 12 Javascript
JavaScript Date 知识浅析
Jan 29 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
Sep 04 Javascript
详谈DOM简介及节点、属性、查找节点的方法
Nov 16 Javascript
js判断输入框不能为空格或null值的实现方法
Mar 02 Javascript
element-ui组件table实现自定义筛选功能的示例代码
Mar 15 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
Extended CHM PHP 语法手册之 DIY
2006/10/09 PHP
php 广告调用类代码(支持Flash调用)
2011/08/11 PHP
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
在PHP中使用redis
2013/11/04 PHP
免费的ip数据库淘宝IP地址库简介和PHP调用实例
2014/04/08 PHP
ThinkPHP3.1新特性之对Ajax的支持更加完善
2014/06/19 PHP
PHP构造函数与析构函数用法示例
2016/09/28 PHP
PHP判断数组是否为空的常用方法(五种方法)
2017/02/08 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
使用YII2框架实现微信公众号中表单提交功能
2017/09/04 PHP
php中关于换行的实例写法
2019/09/26 PHP
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
IE6已终止操作问题的2种情况及解决
2014/04/23 Javascript
JavaScript中变量声明有var和没var的区别示例介绍
2014/09/15 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
2017/02/14 Javascript
提高Web性能的前端优化技巧总结
2017/02/27 Javascript
Vue实现百度下拉提示搜索功能
2017/06/21 Javascript
Node.js使用Angular简单示例
2018/05/11 Javascript
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
Vue实现根据hash高亮选项卡
2019/05/27 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
Python3实现的Mysql数据库操作封装类
2018/06/06 Python
ubuntu17.4下为python和python3装上pip的方法
2018/06/12 Python
selenium+python自动化测试之多窗口切换
2019/01/23 Python
python自动化测试之如何解析excel文件
2019/06/27 Python
flask框架路由常用定义方式总结
2019/07/23 Python
python实现小世界网络生成
2019/11/21 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
《我不是最弱小的》教学反思
2014/02/23 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
机关作风建设整改方案
2014/10/27 职场文书
2015年社区民政工作总结
2015/04/21 职场文书
2016春季运动会前导词
2015/11/25 职场文书