2013-10-24 23 views
1

我有一個帶有浮動側欄的自定義腳本,該側欄始終沿帖子浮動。如何使浮動側欄在頁腳之前停止浮動以不與其重疊

如何在頁面與頁腳重疊10像素之前停止浮動側邊欄並將其固定在屏幕上的當前位置?

我創建了一個JS提琴解釋: http://jsfiddle.net/Dj3cW/1/

您將看到#sidebar#footer重疊。如何防止它進一步在屏幕上浮動#footer10px

請記住,文檔高度並不固定,因爲某些頁面可能會顯示比其他頁面更多的帖子。

感謝

回答

3

試試這個

if ($('#sidebar').offset().top + $("#sidebar").height() > $("#footer").offset().top) { 
    $('#sidebar').css('top',-($("#sidebar").offset().top + $("#sidebar").height() - $("#footer").offset().top)); 
} 

http://jsfiddle.net/Dj3cW/2/

+0

請使用選擇緩存 - http://mikeadamsnc.com/cache-jquery-selectors-for-better-performance/(第一個鏈接我找到了)。這可能是我見過的最令人震驚的jQuery使用。 – Adam

+0

有點極端...如果你想讓它變得更好繼續,我提供了一個基本的答案 –