2013-08-17 63 views
1

我有以下JavaScript/jQuery代碼,它需要位於頁面下方的ID爲page_block_422的div,並且它使用一個類來使用固定位置,以使其保持在頂部窗口一旦滾過它,當我滾動回到頂部時,它仍然在原地。 即時通訊的問題在於,它下面還有其他的DIV,固定的位置會讓它懸停在它們上面。Stop滾動時停止div固定位置

我已經試過

的jQuery:

var s = $("#page_block_422"); 
    var pos = s.position(); 
    var newWidth = s.parent().width(); 
    //s.addClass("stick"); 
    s.css("width", newWidth - 10 + "px"); 


$(window).scroll(function(){ 
     var windowpos = $(window).scrollTop(); 

if (windowpos > pos.top) { 
    s.addClass("stick"); 
    s.css("top",Math.max(0,860-$(this).scrollTop())); 
    s.css("position","fixed"); 

} else { 
    s.removeClass("stick"); 
    s.css("position","relative"); 
} 

CSS:

.stick { 
    position: relative; 
    top:0px; 
    z-index: 999; 
    width: inherit; 
} 

我在IF函數週圍改變了運營商> =,< =,<以獲得不同的結果。

任何幫助,將不勝感激。 在此先感謝。

+1

一個價值千言萬語的小提琴。 –

+0

和小提琴類型'lorem * 50'的html,並按Tab(讓我們滾動)。 – FakeRainBrigand

+0

它怎麼能停留在屏幕的頂部,而不是懸停在剩餘的內容上? –

回答

0

而不是使用別的,只要寫另一個if。

if (windowpos > pos.top) { 
    s.addClass("stick"); 
    s.css("top",Math.max(0,860-$(this).scrollTop())); 
    s.css("position","fixed"); 

} 
if (windowpos < pos.top) { 
    s.removeClass("stick"); 
    s.css("position","relative"); 
}