0

jQuery を使用して div を垂直に移動し、常にビューポートに残るようにしています。これまでの解決策には2つの問題があります。まず、垂直方向にずっと下に移動し続けます。親div内にdivを制限できると思いますが、私の人生ではそれを機能させることはできません。第二に、開始位置がページの上部にないため、スクロールを開始すると、スクロールが開始される前にあった div の上に同等のギャップがあります。スクロールが開始されたウィンドウ。これまでの私のコードは次のようになります。

<script type="text/javascript">
    $().ready(function() {
        var $scrollingDiv = $("#scrollingDiv");

        $(window).scroll(function(){            
            $scrollingDiv
                .stop()
                .animate({"marginTop": ($(window).scrollTop() + 0) + "px"}, "slow" );          
        });
    });
</script>

私はjQueryが初めてなので、私が求めていることのいずれかを達成する方法に少し苦労しています。誰かが私を正しい方向に向けることができれば、私はとても感謝しています。

4

1 に答える 1

0

マージントップを変更すると、元の位置に対して変更され続けます。それがそれが下がり続ける理由です。

これを試して

#scrollDiv {position: absolute; top: 200px;}  // change the top accordingly

$scrollDiv = $('#scrollDiv');
$window = $(window);

$(window).scroll(function() {
         $scrollDiv.css('top', $window.scrollTop() + 'px');
});
于 2012-10-25T19:06:28.793 に答える