Javascript 从变量获取静态值(滚动功能)

Javascript 从变量获取静态值(滚动功能),javascript,jquery,Javascript,Jquery,我有一个“跟随滚动”功能,但我希望它在返回到某一点时关闭。我的代码如下: scrollSidebar: function(scroll) { var elemPos = $('#bestvideos-2').offset().top, scroll2 = scroll; if(scroll2 >= elemPos) { $('#bestvideos-2').animate({

我有一个“跟随滚动”功能,但我希望它在返回到某一点时关闭。我的代码如下:

    scrollSidebar: function(scroll) {
        var elemPos = $('#bestvideos-2').offset().top,
            scroll2 = scroll;

        if(scroll2 >= elemPos) {
            $('#bestvideos-2').animate({
                'margin-top':(scroll - 315)+'px'
            },0);
        } else {
            $('#bestvideos-2').css('margin-top','0');
        }
    }

$(window).scroll(function() {
    var scrollHeight = $(window).scrollTop();
    Scroll.scrollSidebar(scrollHeight);
})
问题是——每次我起床,它都会一直往上走,而不是跟着滚动。我的想法是将一个变量
elemPos
存储在某个地方,并使其保持静态(现在每次滚动时它都在变化)


对此我能做些什么?

将值传递给scrollSidebar函数-确保在dom就绪时执行
var elemPos=$(“#bestvideos-2”).offset().top

scrollSidebar: function (elemPos, scroll) {
    var scroll2 = scroll;

    if (scroll2 >= elemPos) {
        $('#bestvideos-2').animate({
            'margin-top': (scroll - 315) + 'px'
        }, 0);
    } else {
        $('#bestvideos-2').css('margin-top', '0');
    }
}

var elemPos = $('#bestvideos-2').offset().top
$(window).scroll(function () {
    var scrollHeight = $(window).scrollTop();
    Scroll.scrollSidebar(elemPos, scrollHeight);
})

工作很好,但我有一个问题-它“闪烁”当我用鼠标滚动(当我使用滚动条,它保持不变)。