如何检测不同的scrollTop位置

时间:2017-07-12 08:45:14

标签: scrolltop

我想检测不同于scrollTop的位置,如下所示:我想如果窗口大于100px将一个类添加到body中,如果它再次大于150则删除该类并添加另一个类。

$(window).scroll(function() {    
   var scroll = $(window).scrollTop();
   if (scroll >= 100)  {
      $('body').addClass('one');
   }
   else (scroll >= 150)  {
      $('body').addClass('two');
      $('body').removeClass('one')
   }
});

仅使用(如果条件)但不使用(else条件)处理多个位置。

1 个答案:

答案 0 :(得分:0)

你的问题是基本的控制流程,你的第二个条件是多余的,因为如果滚动是> = 150那么肯定是> = 100这意味着你永远不会到达第二个块:

if (scroll >= 100) {
    // execute if scroll is greater or equal to 100
} else if (scroll >= 150) {
    // execute if scroll is NOT greater or equal to 100
    // execute if scroll is greater or equal to 150
}

你需要像这样交换它们:

if (scroll >= 150) {
    // execute if scroll is greater or equal to 150
} else if (scroll >= 100) {
    // execute if scroll is NOT greater or equal to 150
    // execute if scroll is greater or equal to 100
}

此处也有语法错误:else (scroll >= 150) {应为else if (...