gpt4 book ai didi

javascript - 将变量与 $(window).scroll 事件中的数组值进行比较

转载 作者:行者123 更新时间:2023-11-30 12:13:27 25 4
gpt4 key购买 nike

因此,正如标题所说,我在尝试找出一种方法来比较变量 currentOffset 与我的数组 offsets 时遇到了麻烦。所以,假设我在 $(window).scroll(); 事件中有 currentOffset,就像这样......

var currentOffset = 0;
var sections = $('section').get();
var offsets = [];

var i = 0;
sections.forEach(function () {
offsets.push($(sections[i]).offset().top);
i++;
});

$(window).scroll(function () {
currentOffset = $(window).scrollTop();
});

我如何不断地检查 currentOffset 是否 >= 我数组中的偏移量之一。所以假设数组包含以下数据...

[8, 332, 656]

当用户滚动时,currentOffset8 或大于8,然后触发一个事件。然后,当用户点击 332 或滚动到比 332 更深的深度时,会触发另一个事件。

这可能吗?

最佳答案

这是一个 fiddle :

jsfiddle.net/LsLaeakj/1

var currentOffset = 0;
var sections = $('section').toArray();
var offsets = [];

for (var i = 0; i < sections.length; i++){
offsets.push($(sections[i]).offset().top);
}

console.log(offsets);

$(window).scroll(function () {
currentOffset = $(window).scrollTop();
console.log(checkOffset());
$('section').css('background-color', 'white'); $(sections[checkOffset()]).css('background-color', 'red');
});

function checkOffset(){
for (var i = 0; i < offsets.length; i++){
if (offsets[i] > currentOffset){
return i-1;
}
}
return offsets.length
}

它将最后一个偏移 div 设置为红色背景,并将其记录到控制台。显然这可以更改,但希望它能说明您所追求的功能。

关于javascript - 将变量与 $(window).scroll 事件中的数组值进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33106273/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com