我希望导航栏粘在视口的底部,但要防止它与固定高度的粘性页脚重叠。
标记如下:
<div id="wrap">
<div id="main"></div>
</div>
<div id="footer"></div>
<div id="command-bar"></div>
并且 CSS 是按照cssstickyfooter.com的。
您可以在http://jsfiddle.net/z2C5S/2/看到一个示例。
更新
使用下面的 JavaScript 越来越接近,当非常缓慢地向上滚动时似乎有点重叠(http://jsfiddle.net/z2C5S/16)
$(function () {
var setCommandBarPosition = function () {
var footerOffset = $("#footer").offset().top;
var scrollTop = $(window).scrollTop();
var windowHeight = $(window).height();
var weOverlappedFooter = ((windowHeight + scrollTop) >= (footerOffset + 40)); // + the height of the command bar
$("p").html("Overlapped: " + weOverlappedFooter);
if (weOverlappedFooter) {
$("#command-bar").removeClass("affix-bottom");
} else {
$("#command-bar").addClass("affix-bottom");
}
};
$(window).scroll(function () {
setCommandBarPosition();
});
setCommandBarPosition();
});