2013-08-17 41 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"); 
}