0

有人可以帮忙解决这个jsfiddle吗?

http://jsfiddle.net/4Ns44/

预期目的:当页面向下滚动时,链接在视口中展开,这很好用。但是当我们向上滚动时,我希望展开窗口在它开始的地方停止。即,在标题 div 下方。现在, position:fixed 导致它保持在顶部,即使在标题 div 变得可见之后也是如此。

一些帮助position:fixed

4

1 回答 1

0

如果我了解您要执行的操作,我认为您想检查 scrollTop 何时小于#expand. 尤其:

var minY = $('#header').height();

scroll处理程序中:

// this will reset to the original position
if (top < minY) {
    $expand.css({position: "absolute", top: ''});
}

结果是:http: //jsfiddle.net/4Ns44/3/

var minY = $('#header').height();
var $expand = $("#expand");

$(window).scroll(function () {

    var top = $(window).scrollTop();

    if($expand.css("position") === "fixed") {

        if(top > expandY) {
            $expand.css({position: "absolute", top: expandY});
        } else if (top < minY) {
            $expand.css({position: "absolute", top: ''});
        }
    }
    else {
        if (top < minY) {
            $expand.css({position: "absolute", top: ''});
        } else if(top < expandY) {
            $expand.css({position: "fixed", top: 0});
        }
    }
});

这是如果我明白你想要做什么...

于 2012-12-18T01:42:58.707 回答