jQuery点击按钮弹出遮罩层且内容居中特效
作者:bea
本文为大家分享了jQuery点击按钮弹出遮罩层且内容居中的特效,下面来看最终实现的效果: 由于是测试的程序,所以我未加关闭的按钮。 一、主体程序 <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title>弹出居中遮罩</title> <meta name="viewport" content="width=device-w
本文为大家分享了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();
})
})
上面这段程序看起来没有问题,那么来看一下输出的结果:
实际测量的时候上下的间距是不一致的。
那么正确的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时就已经设置好弹出层各项参数。
以上就是本文的全部内容,教大家如何实现点击按钮弹出遮罩层且内容居中的效果,
猜你喜欢
您可能感兴趣的文章:
- js编写“贪吃蛇”的小游戏
- javascript实现网页端解压并查看zip文件
- 探究JavaScript函数式编程的乐趣
- jQuery+json实现的简易Ajax调用实例
- 以JavaScript来实现WordPress中的二级导航菜单的方法
- JS实现DIV容器赋值的方法
- JavaScript中eval()函数用法详解
- JS实现单击输入框弹出选择框效果完整实例
- JavaScript实现点击按钮就复制当前网址
- JavaScript 实现的 zip 压缩和解压缩工具包Zip.js使用详解
- JS+JSP通过img标签调用实现静态页面访问次数统计的方法
- 基于JavaScript实现一定时间后去执行一个函数
- javascript中new关键字详解
- jQuery position() 函数详解以及jQuery中position函数的应用
- Position属性之relative用法
- CSS中position属性之fixed实现div居中
- 通过设置CSS中的position属性来固定层的位置
- js实现拖拽效果(构造函数)
- jQuery滚动加载图片实现原理