【发布时间】:2020-01-15 03:59:47
【问题描述】:
我有一个数组(它是页面上未知数量元素的偏移位置)。我希望能够在用户向下滚动页面上的这个像素数时添加/删除类。
var offsetPositions = [200,500,700,1000,1100,1500];
$(window).scroll(function(){
var scrolled = $(window).scrollTop();
});
问题是数组中的偏移位置是顶部和底部偏移位置。所以使用上面的例子,第一个元素的顶部是 200 像素,底部是 500 像素。下一个顶部为 700 像素,底部为 1000 像素。所以它们是成对的,而且总是有偶数个。
我需要滚动位置到达数组中的1、3、5、7项时的效果,到达2、4、6、8等时关闭。像这样;
if (scrolled > 200) {
// add class
}
if (scrolled > 500) {
// remove class
}
if (scrolled > 700) {
// add class
}
if (scrolled > 1000) {
// remove class
}
类的最终结果仅在项目被滚动传递时才存在,而不是介于两者之间。
我不知道如何在滚动函数中为数组添加一个 for 循环来满足我的需要。我还考虑将数组拆分为奇数和偶数,但是尝试以我想要的方式比较两个数组更加复杂。我只是在寻找有关如何使用它的建议,或者我是否忽略了一些明显的东西。
【问题讨论】:
-
你为什么不用
var offsetPositions = [[200,500],[700,1000],[1100,1500]];