Javascript 使用jquery css(3)和HTML(5)制作覆盖窗口

Javascript 使用jquery css(3)和HTML(5)制作覆盖窗口,javascript,jquery,css,dom-manipulation,Javascript,Jquery,Css,Dom Manipulation,我期待在我的网站上创建一个叠加效果(模态)类型的效果,我已经有一个工作,是一个固定的宽度和高度,但我想它填补85%的可用屏幕空间 我怎样才能做到这一点 我的旧代码是这样的 $('#overlay').fadeIn('fast'); $('#lightbox').css({ position:'fixed', left: ($(window).width() - $('#lightbox').o

我期待在我的网站上创建一个叠加效果(模态)类型的效果,我已经有一个工作,是一个固定的宽度和高度,但我想它填补85%的可用屏幕空间

我怎样才能做到这一点

我的旧代码是这样的

$('#overlay').fadeIn('fast');
            $('#lightbox').css({
                    position:'fixed',
                    left: ($(window).width() - $('#lightbox').outerWidth())/2,
                    top: ($(window).height() - $('#lightbox').outerHeight())/2
            });

你想让覆盖层占据85%的屏幕空间吗?然后需要计算所需的宽度/高度和x/y坐标

var targetProcent = 85;
var targetWidth = $(window).width() * (targetProcent / 100);
var targetHeight = $(window).height() * (targetProcent / 100);   
var targetX = ($(window).width() - targetWidth) / 2;
var targetY = ($(window).height() - targetHeight) / 2;

$('#overlay').width(targetWidth);
$('#overlay').height(targetHeight);
$('#overlay').css({
    "position": "absolute", 
    "top": targetY+"px", 
    "left": targetX+"px"
});

许多变量赋值可能会被删除,但为了清晰起见,请保留它们。

非常感谢,如果窗口被调整大小,有没有办法重新计算宽度?将其包装在函数中,并在$(window).resize()上调用它-如果您发现它解决了您的问题,请接受我的答案:)