如何使用jQuery添加保证金底部

如何使用jQuery添加保证金底部,jquery,margin,Jquery,Margin,下面是我正在使用的代码,它在滚动时将div固定到页面顶部,但我想在div固定到顶部后给它一个margin var fixmeTop = $('.fixme').offset().top; $(window).scroll(function() { var currentScroll = $(window).scrollTop(); if (currentScroll >= fixmeTop) { $('.fixme').css({ p

下面是我正在使用的代码,它在滚动时将
div
固定到页面顶部,但我想在
div
固定到顶部后给它一个
margin

var fixmeTop = $('.fixme').offset().top;
$(window).scroll(function() {
    var currentScroll = $(window).scrollTop();
    if (currentScroll >= fixmeTop) {
        $('.fixme').css({
            position: 'fixed',
            top: '0',
            left: '0'
        });
    } else {
        $('.fixme').css({
            position: 'static'
        });
    }
});
我见过这样的例子,使用jQuery添加边距,但我无法将其应用到我的代码中:

$('.fixme').css('margin-bottom',90);
您将看到,当
div
固定到页面顶部时,两个元素之间的空间将关闭。我想在
div
之后添加
margin
,以便它一粘上就有相同的距离


如果div已修复,只需将其添加到.css函数中即可:

var fixmeTop = $('.fixme').offset().top;
$(window).scroll(function() {
    var currentScroll = $(window).scrollTop();
    if (currentScroll >= fixmeTop) {
        $('.fixme').css({
            position: 'fixed',
            top: '0',
            left: '0',
            margin: '5%'
        });
    } else {
        $('.fixme').css({
            position: 'static'
        });
    }
});

您可以在if语句中添加边距底部:

    $('.fixme').css({
        position: 'fixed',
        top: '0',
        left: '0',
        marginBottom: '5%' // you can write with quotes "margin-bottom" too
    });
您将看到,当div固定到页面顶部时 两个元素之间的空间闭合了。我想给这本书加上页边空白 在后俯冲,使其在粘住时具有相同的距离

你不能那样做。这是因为,一旦某个元素被
修复
,它就会从流中删除,并与其他内容完全处于不同的层中。在
fixed
元素上添加边距将不起作用,因为它位于不同的层中。内容从这个
div
后面滚动过去,您无法控制间距。无论如何,内容都会被这个
div
所掩盖。查看此小提琴以了解我的意思(添加阴影以帮助您可视化图层):

演示小提琴1:

如果您只是想避免该
div
的突然跳转,只需将
边距顶部
添加到该
div
。或者(也是更好的方法),将这些样式保留在CSS中,并应用/删除这些类

演示小提琴2:


注意:当您通过Javascript将其用作属性时,需要使用
marginTop
而不是
marginTop

$('*')以页面上的所有元素为目标。我假设您只想将此应用于fixme类?当您修复一个元素(即
位置:fixed
)时,您不需要在其周围添加边距,因为这没有任何用途。你需要的是身体上的填充物。对不起,我现在就明白了!我已经6个月没有使用固定定位了,完全忘记了它会丢失“块”样式的属性。也许有一种方法可以将边距顶部添加到div下面的元素中,然后将其向下移动?对我来说也同样有效,我只是不知道如何使用jQueryOmg!那个添加类工作得很好!谢谢你这正是我想要的needed@Abhitalks加上那把小提琴作为答案,我会投正确的一票。我不想在div周围都有保证金,只要保证金在底部,但代码似乎忽略了这一点input@Wizzard你应该更新小提琴,因为我认为这不管用(即使语法正确。是的,确实如此。检查它,您可以看到页边距底部。但是,这不是您的解决方案。Position fixed无法使用页边距修复其他内容。您需要实现什么?代码工作正常。如果您需要查看位于sticky div底部的内容,则需要使其他内容与之不同。)固定的位置。我基本上不希望红色div在绿色div接触页面顶部时跳到绿色div。如果你仔细滚动,你可以看到它在这里这样做:当你滚动时,红色div向上。这是正确和正常的行为。如果你需要使红色div在页面底部变粘,也许你需要使其变粘红色分区。