1
我的網站上有一個邊欄,一旦達到高度,它就會粘在瀏覽器窗口的底部 - 我知道這聽起來很複雜,但它可能不是。jQuery:滾動時在窗口的底部邊緣修復div?
我做的jsfiddle一個小演示:http://jsfiddle.net/dJXS2/1/
$(window).scroll(function() {
var bh = $(window).height();
var st = $(window).scrollTop();
var eh = $('#element').height();
var eo = $('#element').offset();
if (st >= (eo.top + eh) - bh) {
//$('#element').css('position', 'fixed');
}
});
所以,再次 - 我想: 你看DIV page-height
,只是讓身體不再用於測試目的。綠色邊欄比頁面高度短。一旦用戶滾動的比綠色條的底部更遠,我希望綠色條被固定在當前位置。所以我不希望用戶看到綠色欄下面的空白。當再次滾動時,我當然希望恢復正常的滾動行爲,並且綠條不應再被修復。
有關於此的任何想法?
謝謝!任何想法爲什麼我不能使用元素的偏移值?我需要這個,因爲我的標題高度可能是動態的! – matt
您是否嘗試過使用偏移量?它應該插入正確的,這就是爲什麼我離開了一個CSS類。 http://jsfiddle.net/dJXS2/5/ –
你不能使用'el.offset()。top',因爲一旦你修復它就會有所不同。您需要計算並存儲滾動事件以外的內容。 –