Javascript 使用JS CSS应用负上边距
我使用JavaScript计算一个元素的高度,然后将该高度作为填充顶部应用于另一个元素,如下所示: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
$(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代码。如果这不是您想要的行为,只需删除!