我正在编写一个将在应用程序的多个视图上执行的函数,每个视图最多可以有 50 个相同元素的实例:'.console'。每次视口滚动到每个实例时,我都需要能够执行一个操作。我有以下代码设置变量:
//Create empty array with variable values, up to 50
var console = [];
//Find each instance of ".console" and populate the array with its pixel position.
$('.console').each(function() {
console.push($(this)[0].offsetTop);
});
//Determine the current pixel position of the scroll
var scroll = $(document).scrollTop();
这些变量都工作得很好,而且花花公子,但是经过几个小时的倾注 jquery 文档后,我无法弄清楚 if 语句。这是我对数组中的第一项效果很好的内容:
if (scroll == console[0]){
$('.container').show();
} else {
$('.container').hide();
}
但是,我希望滚动位置与该数组中的每个值匹配,希望是这样的:
if (scroll == console[0-50])
这是完整的块:
$(document).on('scroll', function(){
//Create empty array with variable values, up to 50
var console = [];
//Find each instance of ".console" and populate the array with its pixel position.
$('.console').each(function() {
console.push($(this)[0].offsetTop);
});
//Determine the current pixel position of the scroll
var scroll = $(document).scrollTop();
//Anytime the scroll matches any of the instances of console, show a div
if (scroll == console[0]){
$('.container').show();
} else {
$('.container').hide();
}
});
任何帮助,将不胜感激。我对 Javascript/JQuery 很陌生,所以如果我完全以错误的方式解决问题,请告诉我。谢谢!