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 相关文章推荐
mapper--图片热点区域高亮组件官方站点
Dec 22 Javascript
菜鸟javascript基础整理1
Dec 06 Javascript
jquery事件机制扩展插件 jquery鼠标右键事件。
Dec 26 Javascript
extjs中form与grid交互数据(record)的方法
Aug 29 Javascript
zTree插件之单选下拉菜单实例代码
Nov 07 Javascript
JavaScript引用类型和基本类型详解
Jan 06 Javascript
JavaScript中创建对象的模式汇总
Apr 19 Javascript
深入浅析JavaScript中的Function类型
Jul 09 Javascript
详解JS-- 浮点数运算处理
Nov 28 Javascript
Angular4学习笔记之准备和环境搭建项目
Aug 01 Javascript
如何使用jQuery操作Cookies方法解析
Sep 08 jQuery
Vue中用JSON实现刷新界面不影响倒计时
Oct 26 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
smarty静态实验表明,网络上是错的~呵呵
2006/11/25 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
php中__destruct与register_shutdown_function执行的先后顺序问题
2014/10/17 PHP
PHP中开启gzip压缩的2种方法
2015/01/31 PHP
php中使用sftp教程
2015/03/30 PHP
php轻松实现文件上传功能
2016/03/03 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
javascript parseInt() 函数的进制转换注意细节
2013/01/08 Javascript
js获取当前地址 JS获取当前URL的示例代码
2014/02/26 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
Javascript页面跳转常见实现方式汇总
2015/11/28 Javascript
jQuery实现上传图片前预览效果功能
2017/08/03 jQuery
pm2 部署 node的三种方法示例
2017/10/20 Javascript
Node.js创建Web、TCP服务器
2017/12/05 Javascript
promise和co搭配生成器函数方式解决js代码异步流程的比较
2018/05/25 Javascript
jQuery实现获取选中复选框的值实例详解
2018/06/28 jQuery
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
Node.js API详解之 string_decoder用法实例分析
2020/04/29 Javascript
js验证账户名是否重复
2020/05/26 Javascript
原生js实现随机点名
2020/07/05 Javascript
JS获取当前时间戳方法解析
2020/08/29 Javascript
鸿蒙系统中的 JS 开发框架
2020/09/18 Javascript
JavaScript实现京东快递单号查询
2020/11/30 Javascript
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
基于PyQT实现区分左键双击和单击
2020/05/19 Python
CSS3的常见transformation图形变化用法小结
2016/05/13 HTML / CSS
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
给水排水工程专业毕业生推荐信
2013/10/28 职场文书
粗加工管理制度
2014/02/04 职场文书
入党积极分子学习党的纲领思想汇报
2014/09/13 职场文书
公司慰问信范文
2015/03/23 职场文书
一次项目中Thinkphp绕过禁用函数的实战记录
2021/11/17 PHP