Help with Scroll/Follow Sidebar のスクロール/フォロー サイドバーに jquery 手法を使用
$(function() {
var $sidebar = $(".sidebar"),
$window = $(window),
$footer = $(".footer"), // use your footer ID here
offset = $sidebar.offset(),
foffset = $footer.offset(),
threshold = foffset.top - $sidebar.height(), // may need to tweak
topPadding = 15;
$window.scroll(function() {
if ($window.scrollTop() > threshold) {
$sidebar.stop().animate({
marginTop: threshold
});
} else if ($window.scrollTop() > offset.top) {
$sidebar.stop().animate({
marginTop: $window.scrollTop() - offset.top + topPadding
});
} else {
$sidebar.stop().animate({
marginTop: 0
});
}
});
});
唯一の問題は、サイドバー (.sidebar) がフッター (.footer) に達すると、フッターの高さ近くまでフッターが押し下げられることです。
フッターの高さが 200px の場合、サイドバーはフッターを ~200px (Internet Explorer)、~50px (Firefox、Chrome、Opera) にプッシュしてから、フッターを表示します。
コンテンツとフッターの間の 200px の空白スペースが私の本当の問題です。
フッターの開始位置でサイドバーのスクロールを停止したい。