2013-10-28 50 views
1

現在我知道如果用戶滾過旁邊欄的底部,那麼邊欄會變爲固定並停留在用戶頁面上,而他們讀取主要內容的其餘部分。停止某個位置的固定格

但現在我的固定div正在跌落到頁腳。那麼,我怎樣才能阻止它脫離父母div並進入頁腳?

這裏是發生了什麼事情的小提琴:http://jsfiddle.net/95W8w/

所有的代碼是的jsfiddle,但既然有這麼要求我把代碼在這裏,如果我有一個的jsfiddle包括。

的JavaScript:

$(document).ready(function() { 
// Cache selectors for faster performance. 
var $window = $(window), 
    $sidebar = $('#anchor'), 
    $sidebarAnchor = $('#right'); 

// Run this on scroll events. 
$window.scroll(function() { 
var window_top = $window.scrollTop(); 
var div_top = $sidebarAnchor.offset().top; 
if (window_top > div_top) { 
// Make the div sticky. 
$sidebar.addClass('stick'); 
$sidebarAnchor.height($sidebar.height()); 
} 
else { 
    // Unstick the div. 
    $sidebar.removeClass('stick'); 
    $sidebarAnchor.height(0); 
    } 
}); 

});

+0

我想你只是有一個樣式問題,嘗試位置:固定; right:0; z-index:4; top:0; –

+0

@anulik這只是打破了它的方式更多..哈哈..它的JavaScript必須改變類,當用戶滾動x頁面數量下降 –

回答

0

在您的.stick類定義中將bottom更改爲top,以使側欄粘在頂部而不是底部。

.stick {position: fixed; top:0px;} 
+0

這沒有做任何事情...... –

+0

改變'底部'到'頂部'在滾動時(而不是底部),您的粘性側欄會粘到瀏覽器的頂部。也許你可以詳細說明你的請求,如果這不解決它。 http://jsfiddle.net/7Nzh6/ – user2669157

+0

它看起來一樣...大聲笑 –