变量

时间:2015-10-14 18:13:56

标签: javascript jquery css scope scrolltop

我正在尝试解决一个问题,我正在使用(window).scrollTop()的值作为变量。最终我需要做的是从特定的点(在if语句中)获取滚动返回的值,以便它可以在事件中全局使用,但是我只需要 此时返回的值,因此滚动时不会更改。我使用了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时,我需要返回scrollTop的值,以检查窗口到目前为止滚动了多远。但是我只需要它返回的第一个值(因此即使scrollTop()增加或减少它也不会改变)

我希望这很清楚。感谢

1 个答案:

答案 0 :(得分:0)

更改为:

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
    })

})