我正在尝试解决一个问题,我正在使用(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()增加或减少它也不会改变)
我希望这很清楚。感谢
答案 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
})
})