Javascript 如何设置速度跟随边栏

Javascript 如何设置速度跟随边栏,javascript,Javascript,我使用的是一个侧边栏,在滚动网站时会自动上下滚动。我正在为此使用此脚本: $(function() { var offset = $("#sidebar").offset(); var topPadding = 15; $(window).scroll(function() { if ($(window).scrollTop() > offset.top) { $("#sideb

我使用的是一个侧边栏,在滚动网站时会自动上下滚动。我正在为此使用此脚本:

 $(function() {
        var offset = $("#sidebar").offset();
        var topPadding = 15;

        $(window).scroll(function() {

            if ($(window).scrollTop() > offset.top) {

                $("#sidebar").stop().animate({
                    marginTop: $(window).scrollTop() - offset.top +  topPadding
                });
            } else {
                $("#sidebar").stop().animate({
                    marginTop: 0
                });
            };
        });
    });

但是自动滚动有点快。如何设置侧边栏上下滚动的速度?

假设使用jQuery,可以使用“持续时间”设置动画的速度。要知道它是否在没有完整HTML的情况下工作有点棘手,但请尝试以下方法:

$(function() {
    var offset = $("#sidebar").offset();
    var topPadding = 15;

    $(window).scroll(function() {

        if ($(window).scrollTop() > offset.top) {

            $("#sidebar").stop().animate({
                marginTop: $(window).scrollTop() - offset.top +  topPadding
            },{
                duration: 1000
            });
        } else {
            $("#sidebar").stop().animate({
                marginTop: 0
            },{
                duration: 5000
            });
        };
    });
});

来源:

关于这一点,还有一个问题:当鼠标越过侧边栏时,动画停止,我如何实现?(停止上移或下移)您应该编辑问题以包含代码或创建新问题。