1

ヘッダーセクションをクリアした後、ページとともにスクロールするdivがあります。正常に動作しているように見えますが、一番上にスクロールして戻ると、ページが読み込まれたときに開始した正確な場所に戻りません。

脚本:

$(document).ready(function() {
$(window).scroll(function() {
    if ($(window).scrollTop() > 266) {
        var $myDiv = $("#scrollingNavigation");
        $myDiv.stop();
        $myDiv.animate({ marginTop: ($(window).scrollTop()) - 266 });
    }
    else {
        ($(window).scrollTop() - 266);
    }
});
});

HTML:

<div id="scrollingNavigation">My content and image here</div>

例: http: //jsfiddle.net/masada/zZgcG/4/

ウィンドウをゆっくりとスクロールしてみてください。上から約8〜10ピクセルしか残りません。速くスクロールすると、divは上からすべての異なる種類のスペースで上に戻ります。むしろ紛らわしい。

4

1 に答える 1

1

あなたのコードに少し変更..

$(document).ready(function() {
    $(window).scroll(function() {
        var $myDiv = $("#scrollingNavigation");
        if ($(window).scrollTop() > 50) {
            $myDiv.stop();
            $myDiv.animate({ marginTop: ($(window).scrollTop()) + 50 });
        }
        else {
            $myDiv.stop();
            $myDiv.css({ marginTop: 0 });
        }
    });
});

「 http://jsfiddle.net/zZgcG/10/ 」で動作するデモを見つけてください。

于 2013-01-25T20:14:06.550 に答える