html点击按钮弹出遮罩,jQuery点击按钮弹出遮罩层且内容居中特效

本文介绍如何使用jQuery实现点击按钮弹出遮罩层且内容居中的效果。通过设置遮罩层背景大小及弹出内容的位置,确保弹出框在页面上水平垂直居中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文为大家分享了jQuery点击按钮弹出遮罩层且内容居中的特效,下面来看最终实现的效果:

523a7196879d34a2d055824c20cfa8bc.gif

由于是测试的程序,所以我未加关闭的按钮。

一、主体程序

弹出居中遮罩

这里是主体内容

这里是弹出的内容测试

二、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();

})

})

上面这段程序看起来没有问题,那么来看一下输出的结果:

3ffbc63bc1d6929ca0d45adfca2b5ebe.png

实际测量的时候上下的间距是不一致的。

那么正确的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时就已经设置好弹出层各项参数。

以上就是本文的全部内容,教大家如何实现点击按钮弹出遮罩层且内容居中的效果,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值