需要一些帮助。 我的设置:
现在我的问题:
当窗口水平缩小时," myFixedDiv"在" textDiv"之后垂直放置如预期。唯一的问题是," myFixedDiv"的上半部分。明显重叠" textDiv",涵盖部分文本。我想要" myFixedDiv"在" textDiv"之后垂直放置通过推动"页脚"为了实现这一点。
在此处查看示例: JSFIDDLE 您可能需要提供一个小滚动,以便在使窗口变小后再次显示" myFixedDiv。
$(document).scroll(function() { var $self = $("#myFixedDiv"); $self.css('margin-top', 0); var myFixedDivOffset = $self.offset().top + $self.outerHeight(true); if (myFixedDivOffset > ($("#footer").offset().top - 30)) { $self.css('margin-top', -(myFixedDivOffset - $("#footer").offset().top)); } else { $self.css('margin-top', '30px'); } });
答案 0 :(得分:3)
当您调整窗口大小时,将固定位置更改为div的相对位置,它应该是好的
$(window).resize(function() {
$("#myFixedDiv").css('position','relative');
});
您还可以根据正文的宽度添加条件,将div的CSS更改为相对位置或固定位置。
答案 1 :(得分:0)
解决了它:
$(document).scroll(function() {
var $self = $("#myFixedDiv");
$self.css('margin-top', 0);
var myFixedDivOffset = $self.offset().top + $self.outerHeight(true);
if (myFixedDivOffset > ($("#footer").offset().top - 30)) {
$self.css('margin-top', -(myFixedDivOffset - $("#footer").offset().top));
} else {
$self.css('margin-top', '30px');
}
});
$(window).resize(function() {
if ($(window).width() < 601) $("#text").css('padding-bottom', '70px'); {
$(window).scrollTop($(window).scrollTop() + 1);
$(window).scrollTop($(window).scrollTop() - 1);
}
});
$(window).resize(function() {
if ($(window).width() > 600) $("#text").css('padding-bottom', '0'); {
$(window).scrollTop($(window).scrollTop() + 1);
$(window).scrollTop($(window).scrollTop() - 1);
}
});