我有一个数组,其中包含offset()。标签顶部有" ScrollJS"班级名称。
我已经编写了下面的代码来检查窗口滚动的时间,如果windows.scrollTop与数组中的某个值相等,则提醒某些内容,但它不起作用。
$(window).scroll(function () {
var WindowScroll = $(window).scrollTop();
if (TopPositions.indexOf(WindowScroll) > 0) {
alert('Yep !');
}
});
我确定&测试我的数组在滚动时包含一些值,但不知道它为什么不起作用。 Thansk为你提供帮助!
答案 0 :(得分:0)
虽然在您的代码示例中看起来您的TopPositions
变量未填充或简单与实际滚动位置完全不匹配但它对于数组中的第一个元素也会失败因为indexOf
会返回0
。
更好的实现(如果与您正在使用或由babel翻译的浏览器兼容)将使用some
:
const topPositions = [0, 100, 200];
$(window).scroll(function () {
const windowScroll = $(window).scrollTop();
if (topPositions.some((topPosition) => { return topPosition === windowScroll})) {
alert('Yep !');
}
});