javascript - 使用 JS CSS 应用负上边距

标签 javascript jquery html css

我正在使用 JavaScript 计算元素的高度,然后将该高度作为 padding-top 应用到另一个元素,如下所示:

 $(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);
        }
    });

我的问题是,如何将那个高度作为 margin-top "-"也应用到同一个元素? 例如,如果#header 高度为 100px; .topSection 的 margin -top 将为 -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 有一个 .header-fixed 类,我怎样才能让它不应用这些边距?

最佳答案

尝试用“-”连接 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});
            }
        }
    });

关于javascript - 使用 JS CSS 应用负上边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25505309/

相关文章:

javascript - Vue.js/Firebase登录认证接口(interface)设置route-guard

jquery - 如何显示未经授权的可以访问的错误

javascript - 使用 jsPDF 将 HTML div 转换为 pdf 显示 doc.fromHTML 不是一个函数

javascript - 棋盘分成 6 个点,并在 5 秒后交换这些点

javascript - 我想添加没有结束标签的html标签

html - 调整窗口大小时如何使图像强制DIV大小

javascript - 通过 Javascript 的 MS Word 对象模型 : Mail Merge

javascript - AngularJS 指令还是服务?

javascript - 为 DIV 中的元素生成带有 html 控件、动态 ID 和监听器的克隆 div

javascript - 如何在 JavaScript 中选择某个元素的最后一个