所以我正在研究一些代码,我需要检查我生成的数组中的一个元素是否符合某个条件,如果是,则为fadeIn,否则淡化#next和#以前的元素。这就是我现在所拥有的:
HTML:
<div id="#next"></div>
<div id="#prev"></div>
<div id="page1" class="section"></div>
<div id="page2" class="section"></div>
<div id="page3" class="section"></div>
的Javascript
$(window).on('scroll', function () {
var i, stuff = [],
scrollTop = $(window).scrollTop(),
sects = $('.section')
sects.each(function() {
stuff.push(parseInt($(this).offset()['top'],10));
});
for(i = 0; i < stuff.length; i++) {
if (stuff[i] == scrollTop) { $('#next,#prev').fadeIn("fast")}
if (stuff[i] != scrollTop) { $('#next,#prev').fadeOut("fast")}
}
});
上面的代码会产生闪烁效果,因为无论如何,“stuff”总是会有一个不等于scrollTop的值。因此,为什么我需要说“如果任何返回的对象有一个等于scrollTop的偏移量('stuff'),那么fadeIn,else,fadeOut。
非常感谢任何帮助!
答案 0 :(得分:0)
这是一个相当基本的标志值场景:
var flag = false;
for(i = 0; i < stuff.length; i++) {
if (stuff[i] == scrollTop) {
flag = true;
break;
}
}
if (flag)
$('#next,#prev').fadeIn("fast");
else
$('#next,#prev').fadeOut("fast");