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 相关文章推荐
jQuery 使用手册(四)
Sep 23 Javascript
初试jQuery EasyUI 使用介绍
Apr 01 Javascript
几个有趣的Javascript Hack
Jul 24 Javascript
理解Javascript_05_原型继承原理
Oct 13 Javascript
jquery提交form表单时禁止重复提交的方法
Feb 13 Javascript
file控件选择上传文件确定后触发的js事件是哪个
Mar 17 Javascript
jQuery取得设置清空select选择的文本与值
Jul 08 Javascript
javascript中return,return true,return false三者的用法及区别
Nov 17 Javascript
url中的特殊符号有什么含义(推荐)
Jun 17 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
Jun 17 Javascript
angularjs实现搜索的关键字在正文中高亮出来
Jun 13 Javascript
解决vue移动端适配问题
Dec 12 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 session会话的安全性分析
2011/09/08 PHP
php获取json数据所有的节点路径
2015/05/17 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
PHP实现文件下载【实例分享】
2017/04/28 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
详解json在php中的应用
2018/09/30 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
JS获取scrollHeight问题想到的标准问题
2007/05/27 Javascript
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
读jQuery之八 包装事件对象
2011/06/21 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
JSON相关知识汇总
2015/07/03 Javascript
基于React.js实现原生js拖拽效果引发的思考
2016/03/30 Javascript
浅谈jQuery 中的事件冒泡和阻止默认行为
2016/05/28 Javascript
React Native如何消除启动时白屏的方法
2017/08/08 Javascript
vue iview组件表格 render函数的使用方法详解
2018/03/15 Javascript
微信小程序开发之路由切换页面重定向问题
2018/09/18 Javascript
JS动画实现回调地狱promise的实例代码详解
2018/11/08 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
vue 图片裁剪上传组件的实现
2020/11/12 Javascript
python的Template使用指南
2014/09/11 Python
Python文档生成工具pydoc使用介绍
2015/06/02 Python
详解Python各大聊天系统的屏蔽脏话功能原理
2016/12/01 Python
对python中dict和json的区别详解
2018/12/18 Python
使用TensorFlow搭建一个全连接神经网络教程
2020/02/06 Python
css3实现3D文本悬停改变效果的示例代码
2019/01/16 HTML / CSS
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
运行时异常与一般异常有何异同?
2014/01/05 面试题
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
技校生自我鉴定范文
2013/09/26 职场文书
化工专业应届生求职信
2013/11/08 职场文书
环保建议书600字
2014/05/14 职场文书
小学生放飞梦想演讲稿
2014/08/26 职场文书
2014年技术部工作总结
2014/12/12 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书