滚动时停止div固定定位

时间:2013-08-17 01:26:07

标签: javascript jquery

我有以下javascript / jQuery代码,它使用位于页面下方的id page_block_422的div,并且它使用类应用固定定位,使其在滚动过去后保持在窗口的顶部它,当我滚动回顶部时,它仍然存在。 我所拥有的问题是,它下面还有其他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 :(得分:0)

而不是使用else,只需编写另一个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");
}