用於滾動/以下邊欄jquery的技術從Help with Scroll/Follow SidebarjQuery的滾動/遵循側欄(DIV)
$(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的空白是我真正的問題。
我希望側邊欄停止滾動頁腳開始的位置。
所以你需要使你的腳本中減去從窗口高度計算頁腳..... – Rooster
嘗試'閾值= foffset.top的高度 - $ sidebar.height() - offset.top' –
@Vicky工作,謝謝 –