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

标签 jquery

我有 3 个 DIV,我想做的是,如果用户滚动到底部,这些 DIV 会一个接一个出现,如果他滚动到顶部,它们就会消失。前 2 个 DIV 工作正常,但第 3 个 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);
    }
});

Here是样本。

有什么更正或建议吗?

最佳答案

next() 正在选择下一个 div 而不是您想要的,因此实际上您是在说 one 淡入,淡入,之后的东西淡入。与out相同。删除所有 .next() 并查看它是否符合您的要求。

编辑: 您说您希望它们在滚动到它们时出现,您可以尝试使用 jQuery Waypoints 。一个例子是 http://jsfiddle.net/EqYsy/28/

$('.fadeClass').waypoint(function(direction){
  if(direction == "down")
    $(this).animate({opacity:1}, 5000);
  else if(direction == "up")
    $(this).animate({opacity:0}, 1000);
},{offset:500});

关于jquery - next() 不帮助scrollTop() 上的第三个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15565333/

相关文章:

javascript - 淡入 div 并执行服务器端方法

java - Velocity - 使用 jQuery 时如何避免 ParseErrorException?

jquery - CSS Tile 翻转动画辅助

jquery - 加载内容后显示引导模式

javascript - 如何 jQuery JavaScript 条件语句(初学者)

javascript - Jquery 选择带斜杠的属性

jquery - 无法追加动态表中的行,但可以追加整个表

Javascript 或 Jquery 检查是否将鼠标悬停在元素上

javascript - 将一个类的元素加在一起

javascript - jquery:我怎么知道我是否拥有它?