jQuery:当窗口高度为某个数字时,如何编辑css?

jQuery:当窗口高度为某个数字时,如何编辑css?,jquery,Jquery,此脚本垂直居中#logo,方法是取窗口高度,减去#logo的高度,除以2,使#logo的边距位于顶部。除非窗口高度小于徽标高度,否则效果很好。然后,它将边距顶部设为负数,并截断徽标 如何使窗口高度小于或等于#logo的高度时,边距顶部仅为0 编辑(添加IF-ELSE语句),但不处理窗口大小调整事件 var logoTop = (($(window).outerHeight() - $("#logotop").height())*.5); $("#logo").css("margin-top",l

此脚本垂直居中
#logo
,方法是取窗口高度,减去
#logo
的高度,除以2,使
#logo
边距位于顶部。除非窗口高度小于徽标高度,否则效果很好。然后,它将
边距顶部
设为负数,并截断徽标

如何使窗口高度小于或等于
#logo
的高度时,
边距顶部
仅为0

编辑(添加IF-ELSE语句),但不处理窗口大小调整事件

var logoTop = (($(window).outerHeight() - $("#logotop").height())*.5);
$("#logo").css("margin-top",logoTop);
$(窗口).on('load',function()){
$(“#logo”).fadeIn(1000);
var logoTop=($(window.outerHeight()-$(“#logoTop”).height())*.5);
如果(logoTop<0){
(#logo”).css(“页边空白顶部”、“0”);
}否则{
$(“#logo”).css(“页边空白顶部”,logoTop);
}
$(窗口)。调整大小(函数(){
var logoTop=($(window.outerHeight()-$(“#logoTop”).height())*.5);
如果(logoTop<0){
(#logo”).css(“页边空白顶部”、“0”);
}否则{
$(“#logo”).css(“页边空白顶部”,logoTop);
}
});
});

使用一个简单的
if
语句:

$(window).on('load',function(){
    $("#logo").fadeIn(1000);
    var logoTop = (($(window).outerHeight() - $("#logotop").height())*.5);
    if (logoTop < 0){
        ("#logo").css("margin-top","0");
    } else {
        $("#logo").css("margin-top",logoTop);
    }
    $(window).resize(function(){
        var logoTop = (($(window).outerHeight() - $("#logotop").height())*.5);
        if (logoTop < 0){
            ("#logo").css("margin-top","0");
        } else {
            $("#logo").css("margin-top",logoTop);
        }
    });
});
if(logoTop<0){
logoTop=0;
}
您可以这样做

if (logoTop < 0) {
    logoTop = 0;
}

使用
if
语句。这对页面加载非常有效,但我似乎无法将其合并到窗口调整大小事件中。当窗口最初大于徽标时,它确实可以调整大小,但如果窗口加载的大小小于徽标,则徽标始终使用0
边距顶部
。逻辑是相同的。当
$(window).outerHeight()
$(“#logotop”).height()
不起作用时,它们的值是什么?查看我在原始帖子中的编辑,告诉我做错了什么。不管怎样,让它起作用吧。我改为使用这个
logtop=0
,它可以调整大小。css edit命令由于某些原因无法用于调整窗口大小。
var logo = Math.max((($(window).outerHeight() - $("#logotop").height())*.5), 0)