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 相关文章推荐
Javascript绝句欣赏 一些经典的js代码
Feb 22 Javascript
javascript中不提供sleep功能如何实现这个功能
May 27 Javascript
jquery图片切换实例分析
Apr 15 Javascript
JavaScript按值删除数组元素的方法
Apr 24 Javascript
Jquery使用val方法读写value值
May 18 Javascript
javascript实现拖放效果
Dec 16 Javascript
Express下采用bcryptjs进行密码加密的方法
Feb 07 Javascript
vue 表单输入格式化中文输入法异常问题
May 30 Javascript
vue-cli中使用高德地图的方法示例
Mar 28 Javascript
一些手写JavaScript常用的函数汇总
Apr 16 Javascript
nuxt 服务器渲染动态设置 title和seo关键字的操作
Nov 05 Javascript
vue3使用vuedraggable实现拖拽功能
Apr 06 Vue.js
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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
PHP中$_SERVER的详细参数与说明介绍
2013/10/26 PHP
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
yii2学习教程之5种内置行为类详解
2017/08/03 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
javascript自定义startWith()和endWith()的两种方法
2013/11/11 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
2014/05/08 Javascript
JS数组array元素的添加和删除方法代码实例
2015/06/01 Javascript
JS判断输入字符串长度实例代码(汉字算两个字符,字母数字算一个)
2016/08/02 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
vue实现多个元素或多个组件之间动画效果
2018/09/25 Javascript
vue element table 表格请求后台排序的方法
2018/09/28 Javascript
mpvue+vant app搭建微信小程序的方法步骤
2019/02/11 Javascript
Vue插件从封装到发布的完整步骤记录
2019/02/28 Javascript
ES7之Async/await的使用详解
2019/03/28 Javascript
小程序rich-text组件如何改变内部img图片样式的方法
2019/05/22 Javascript
使用原生JS实现火锅点餐小程序(面向对象思想)
2019/12/10 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
Python itertools模块详解
2015/05/09 Python
自己使用总结Python程序代码片段
2015/06/02 Python
Python 快速实现CLI 应用程序的脚手架
2017/12/05 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
如何实现在jupyter notebook中播放视频(不停地展示图片)
2020/04/23 Python
python多线程实现同时执行两个while循环的操作
2020/05/02 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
世界上最大的各式箱包网络零售店:eBag
2016/07/21 全球购物
什么是View State?
2013/01/27 面试题
二年级数学教学反思
2014/01/21 职场文书
学生会招新策划书
2014/02/14 职场文书
爸爸的花儿落了教学反思
2014/02/20 职场文书
民用住房租房协议书
2014/10/29 职场文书
实习推荐信格式模板
2015/03/27 职场文书
SpringBoot中HttpSessionListener的简单使用方式
2022/03/17 Java/Android