2011-10-19 59 views
2

我試圖在用戶開始向下滾動頁面時將標題粘貼到標題上。 我找到了這個例子 How can I make a div stick to the top of the screen once it's been scrolled to?使div粘到屏幕的頂部並在點擊頁腳前停止

我用了有24票的代碼。 Live demo

問題: 1.我想在擊中頁腳前停止div。我不想在頁腳上顯示它。 2.我不知道爲什麼這與jQuery 1.3.2的工作,但不是與1.5.2或更高版本。

ofcourse任何其他jQuery代碼/插件或ideea會很好!

+2

offset()函數已更改。你可以刪除{scroll:false},我認爲它可以在JQ 1.5中工作。 – Gerben

+0

謝謝Gerben!工作!刪除{scrool:false}使它與JQ 1.5.2 –

回答

4
$(window).load($(function() 
{ 
    var elem = $("#scroller"); 
    var top = elem.offset().top; 
    var maxTop = $("#footer").offset().top - elem.height(); 
    var scrollHandler = function() 
    { 
     var scrollTop = $(window).scrollTop(); 
     if (scrollTop<top) { 
     elem.css({position:"relative",top:""})//should be "static" I think 
     } else if (scrollTop>maxTop) { 
     elem.css({position:"absolute",top:(maxTop+"px")}) 
     } else { 
     elem.css({position:"fixed",top:"0px"}) 
     } 
    } 
    $(window).scroll(scrollHandler);scrollHandler() 

})); 

小提琴:http://fiddle.jshell.net/3ATzd/2/show/ 只覺得它不喜歡上#scroller的邊距。我也刪除了scroller-anchor元素的需要,所以你可以刪除它。

+0

一起工作很棒! ..但你是對的..它不喜歡保證金。如果我們將一個600px的高度設置爲滾動條,我們會看到它會覆蓋頁腳......但只有10px左右。 http://fiddle.jshell.net/3ATzd/5/show/ –

+0

使壞會是這樣:。 VAR MAXTOP = $( 「#頁腳」)偏移()頂部 - elem.height() - 10 ; –

+0

我也發現這個: http://kitchen.net-perspective.com/open-source/scroll-follow/ 但請隨時分享任何其他信息,並非常感謝! –

相關問題