如何使用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在页面底部变粘,也许你需要使其变粘红色分区。