Jquery next()不帮助scrollTop()上的第三个元素

Jquery next()不帮助scrollTop()上的第三个元素,jquery,Jquery,我有3个div,我想做的是,如果用户一个接一个地滚动底部,这些div就会出现,如果他滚动顶部,它们就会消失。前两个分区工作正常,但第三个分区工作不正常 这就是我所尝试的: $(window).scroll(function () { if ($(window).scrollTop() > 100) { $("#one").fadeIn(5000); $('#two').next().fadeIn(5000); $('#three').

我有3个div,我想做的是,如果用户一个接一个地滚动底部,这些div就会出现,如果他滚动顶部,它们就会消失。前两个分区工作正常,但第三个分区工作不正常

这就是我所尝试的:

$(window).scroll(function () {
    if ($(window).scrollTop() > 100) {
        $("#one").fadeIn(5000);
        $('#two').next().fadeIn(5000);
        $('#three').next().fadeIn(5000); 
    }
});
$(window).scroll(function () {
    if ($(window).scrollTop() < 100) {
        $("#one").fadeOut(10);
        $('#two').next().fadeOut(10);
        $('#three').next().fadeOut(10);
    }
});
$(窗口)。滚动(函数(){
如果($(窗口).scrollTop()>100){
美元(“#一”)。法代因(5000);
$('2').next().fadeIn(5000);
$('三').next().fadeIn(5000);
}
});
$(窗口)。滚动(函数(){
如果($(窗口).scrollTop()<100){
美元(“#一”)。淡出(10);
$('#two').next().fadeOut(10);
$('#三').next().fadeOut(10);
}
});
这是样品

任何更正或建议?

下一步()正在选择下一个
div
而不是您想要的,因此实际上您说的是
one
淡入,
three
淡入,以及
three
淡入之后的内容。我们也一样。删除所有
.next()
并查看它是否符合您的要求

编辑: 您说过您希望它们在滚动时显示,您可以尝试使用。例如

尝试:

$(窗口)。滚动(函数(){
如果($(窗口).scrollTop()>100){
$(“#one”).fadeIn(5000.next().fadeIn(5000.next().fadeIn(5000);
}
});
$(窗口)。滚动(函数(){
如果($(窗口).scrollTop()<100){
$(“#one”).fadeOut(10.next().fadeOut(10.next().fadeOut(10);
}
});

除了
.next()
的问题之外,我会像这样重写您的代码:

$(window).scroll(function () {

    if ($(window).scrollTop() > 100) {

        $('#test').animate({opacity:1}, 5000);

    } else {

        $('#test').stop(true, false).css({'opacity':0});
    } 
});

我认为这看起来更容易理解。对于HTML,我会添加一个包装器(这里称为test)来减少代码大小。jsFiddle是

just remove.next(),另外,我没有隐藏div,而是将它们的不透明度设置为0,这样页面维度保持不变。事实上,滚动条会改变大小,这真的很让人困惑@弗伦奇,这是我想的下一个问题。我想在JSFIDLE上试试。谢谢你虽然我试过了,但首先没用。但是有没有比我所做的更好的技术(3次使用fadeIn())@约翰:是的,还有另一种方法:你可以简单地将3个div包装到另一个div中,然后用包装器div来实现效果。@John有很多方法可以做到,你可以给它们都一个类,或者你可以像
$('#one')一样一次选择它们。nextAll('p')。addBack().fadeIn(5000)但这一切都取决于你想做什么。@frenchie,他们已经在一个包装器分区中了。但是什么技术呢?什么功能?下一个()?@BearFist,我试过你说的。但没有结果。你能检查一下代码吗?非常感谢你给我时间:)我检查过了,是的,滚动条的大小调整消失了。
$(window).scroll(function () {
    if ($(window).scrollTop() > 100) {
        $("#one").fadeIn(5000).next().fadeIn(5000).next().fadeIn(5000); 
    }
});
$(window).scroll(function () {
    if ($(window).scrollTop() < 100) {
        $("#one").fadeOut(10).next().fadeOut(10).next().fadeOut(10);
    }
});
$(window).scroll(function () {

    if ($(window).scrollTop() > 100) {

        $('#test').animate({opacity:1}, 5000);

    } else {

        $('#test').stop(true, false).css({'opacity':0});
    } 
});