1

我有以下 javascript/jQuery 代码,该代码采用 id 为 page_block_422 的 div,该 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 函数中的运算符更改为 >=、<=、< 以获得不同的结果。

对此的任何帮助将不胜感激。提前致谢。

4

1 回答 1

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");
}
于 2013-08-17T03:01:58.303 回答