-1

そのため、生成した配列内の要素の1つが特定の基準を満たしているかどうかを確認する必要があるコードに取り組んでいます。満たす場合は、fadeInを実行し、そうでない場合は、#next要素と#previous要素をフェードアウトします。 。これが私が今持っているものです:

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")}
}

});

上記のコードは点滅効果を引き起こします。何があっても、「もの」は常にscrollTopと等しくない値を持つためです。したがって、「返されたオブジェクトのいずれかに、scrollTopに等しいオフセット('stuff')がある場合は、fadeIn、それ以外の場合はfadeOutと言う必要があります。

どんな助けでも大歓迎です!

4

1 に答える 1

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");
于 2012-11-11T05:39:27.663 に答える