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 相关文章推荐
xml和web特殊字符
Apr 28 Javascript
用Javascript数组处理多个字符串的连接问题
Aug 20 Javascript
判断ie的两种简单方法
Aug 12 Javascript
js通过八个点 拖动改变div大小的实现方法
Mar 05 Javascript
JavaScript中document.forms[0]与getElementByName区别
Jan 21 Javascript
jQuery DataTables插件自定义Ajax分页实例解析
Apr 28 Javascript
JS组件系列之使用HTML标签的data属性初始化JS组件
Sep 14 Javascript
Vue.JS入门教程之处理表单
Dec 01 Javascript
Javascript中将变量转换为字符串的三种方法
Sep 19 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
Dec 24 Javascript
p5.js绘制旋转的正方形
Oct 23 Javascript
可拖拽组件slider.js使用方法详解
Dec 04 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
2006/12/14 PHP
PHP加速 eAccelerator配置和使用指南
2009/06/05 PHP
几款免费开源的不用数据库的php的cms
2010/12/19 PHP
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 2611816 bytes)
2014/11/08 PHP
Web前端设计模式  制作漂亮的弹出层
2010/10/29 Javascript
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
NodeJS的url截取模块url-extract的使用实例
2013/11/18 NodeJs
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
AngularJS入门教程(一):静态模板
2014/12/06 Javascript
node.js中的http.response.removeHeader方法使用说明
2014/12/14 Javascript
js鼠标点击图片实现随机变换图片的方法
2015/02/16 Javascript
基于jQuery实现拖拽图标到回收站并删除功能
2015/11/25 Javascript
jQuery UI Bootstrap是什么?
2016/06/17 Javascript
BootStrap Progressbar 实现大文件上传的进度条的实例代码
2016/06/27 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
Vue.js 表单控件操作小结
2018/03/29 Javascript
[08:44]DOTA2发布会群星聚首 我们都是刀塔人
2014/03/21 DOTA
[03:48]显微镜下的DOTA2第四期——TP动作
2014/06/20 DOTA
python循环监控远程端口的方法
2015/03/14 Python
Django中URLconf和include()的协同工作方法
2015/07/20 Python
Python爬虫辅助利器PyQuery模块的安装使用攻略
2016/04/24 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
python 读取文本文件的行数据,文件.splitlines()的方法
2018/07/12 Python
浅述python中深浅拷贝原理
2018/09/18 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
2012/12/13 HTML / CSS
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
MAC彩妆澳洲官网:M·A·C AU
2021/01/17 全球购物
建筑人员岗位职责
2013/12/25 职场文书
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
舞出我人生观后感
2015/06/16 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
一行代码python实现文件共享服务器
2021/04/22 Python
Java Dubbo框架知识点梳理
2021/06/26 Java/Android