jQuery (window).scrollTop() 在变量中

jQuery (window).scrollTop() in variable

我正在尝试解决我在使用 (window).scrollTop() 的值作为变量时遇到的问题。最终我需要做的是在 specific 点(在 if 语句中)从滚动中获取值 returned,这样它就可以在一个事件中全局使用,但是我此时需要 return 的值,因此滚动时它不会改变。我使用了 setInterval() 所以脚本可以检查它是否在此时。这是我的代码的一个简单版本:

var $windowend;

var $elone = $('.element-one');
var $eltwo = $('.element-two');


setInterval(function(){

    var $left = $elone.css('left');

    if ($left >= 500) {

    // return number here 
    $windowend = $(window).scrollTop();

    }
}, 100);


$(window).scroll(function(){

    $elone.css({
        'left': $(window).scrollTop()
    })

    $eltwo.css({
    // use number returned here
        'left': $windowend
    })

});

如您所见,当第一个元素达到或超过 500px 时,我需要 return scrollTop 的值,以检查 window 到目前为止滚动了多远。但是我只需要它的第一个值 returns (所以即使 scrollTop() 增加或减少它也不会改变)

我希望这是清楚的。谢谢

更改为:

var $windowend = "auto";

var $elone = $('.element-one');
var $eltwo = $('.element-two');


setInterval(function(){  

    var $left = $elone.css('left');

    if ($left >= 500 && $windowend =="auto") {

        // return number here 
        $windowend = $(window).scrollTop() + "px";

    }
}, 100);


$(window).scroll(function(){

    $elone.css({
        'left': $(window).scrollTop()
    })

    $eltwo.css({
    // use number returned here
        'left': $windowend
    })

})