Javascript 使用JS CSS应用负上边距

Javascript 使用JS CSS应用负上边距,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我使用JavaScript计算一个元素的高度,然后将该高度作为填充顶部应用于另一个元素,如下所示: $(window).on("ready resize", function () { if (window.innerWidth > 1024) { var pageTop = $("#header.header-fixed .content").outerHeight() + "px"; $("#page .topSecti

我使用JavaScript计算一个元素的高度,然后将该高度作为填充顶部应用于另一个元素,如下所示:

 $(window).on("ready resize", function () {
        if (window.innerWidth > 1024) {
            var pageTop = $("#header.header-fixed .content").outerHeight() + "px";
            $("#page .topSection").css("padding-top", pageTop);
        } else {
            var pageTop = $("#secondHeader").outerHeight() + "px";
            $("#page .topSection").css("padding-top", pageTop);
        }
    });
我的问题是,如何将该高度作为边距顶部应用于同一元素? 例如,如果收割台高度为100px;topSection的页边距为-100px

-------更新--------------------

谢谢大家!!下面的答案很有帮助

我遇到了另一个问题,这是由于应用了负利润! 这是我目前正在使用的代码

//Fixed header optimizer
    $(window).on("ready resize", function() {
        if (window.innerWidth > 1024) {
            var pageTop = $("#header").outerHeight() + "px";        
            $("#page .topSection").css({"padding-top": pageTop, "margin-top": "-"+pageTop});
        } else {
            var pageTop = $("#secondHeader").outerHeight() + "px";
            $("#page .topSection").css({"padding-top": pageTop, "margin-top": 0});
        }
    }); 

如果页眉的类为.header fixed,如何使其不应用这些边距

尝试将pageTop字符串与-:

.css({"padding-top": pageTop, "margin-top": "-"+pageTop})
$(window).on("ready resize", function () {
        if (window.innerWidth > 1024) {
            if(!$('#header').hasClass("header-fixed")) {
                var pageTop = $("#header").outerHeight() + "px";
                $("#page .topSection").css({"padding-top": pageTop, "margin-top": "-" + pageTop});
            }
        } else {
            if(!$('#header').hasClass("header-fixed")) {
                var pageTop = $("#secondHeader").outerHeight() + "px";
                $("#page .topSection").css({"padding-top": pageTop, "margin-top": "-" + pageTop});
            }
        }
    });
试试下面的代码

$(window).on("ready resize", function () {
    if (window.innerWidth > 1024) {
        var pageTop = $("#header.header-fixed .content").outerHeight() + "px";
        $("#page .topSection").css({"margin-top": "-" + pageTop, "padding-top" :  pageTop});
    } else {
        var pageTop = $("#secondHeader").outerHeight() + "px";
        $("#page .topSection").css({"margin-top": "-" + pageTop, "padding-top" : pageTop});
    }
});
使用此代码

$("#page .topSection").css({"padding-top": pageTop,"margin-top":"-"+pageTop});
而不是

$("#page .topSection").css("padding-top", pageTop);

你的意思是这样的?:$element.css'margin-top',$element.css'height';只需执行$page.topssection.cssmargin-top,'-'+pageTop;这会将正边距转换为负边距负边距不是意味着你的设计不正确吗?谢谢!这很有帮助,请看一下更新后的问题?do和if条件并检查$header.HASSCLASSHEADER-fixedI合并了上述if语句。我不知道你的代码到底想做什么,所以我添加到else中的if语句可能没有必要。谢谢!它几乎起作用了!我只是想删除页眉中的margin top:-+pageTop,如果它固定了类的页眉,那么上面的代码使用了!在if中切换布尔值。i、 e.如果$'header'.hasClassheader fixed为真,则!这是假的。。。i、 e.如果标头没有固定的class.header,则以上仅运行pageTop代码。如果这不是您想要的行为,只需删除!