【问题标题】:jQuery (window).scrollTop() in variablejQuery (window).scrollTop() 在变量中
【发布时间】:2015-10-14 18:13:56
【问题描述】:

我正在尝试解决使用 (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
    })

});

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

我希望这很清楚。谢谢

【问题讨论】:

    标签: javascript jquery css scope scrolltop


    【解决方案1】:

    改为:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-07
      • 1970-01-01
      • 2011-07-19
      • 1970-01-01
      • 2013-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多