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 に答える