0

我正在使用 jQuery 垂直移动 div,以便它始终保留在视口中。到目前为止,我的解决方案有两个问题。首先,它会一直垂直向下移动,永远!我想我可以将 div 限制在其父 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 回答