使用jquery滚动div时更改锚点的类

时间:2017-01-15 10:35:43

标签: jquery html css frontend

我正在创建一个网页,其顶部有一个锚点按钮,链接到网页上的不同div,我想在滚动到该div时更改按钮的背景颜色并保持该颜色直到它到达后续部分。我怎么能在这里使用toggleClass?

1 个答案:

答案 0 :(得分:0)

试试这个。活动链接具有绿色背景。

$(window).scroll(function(){
  var oneH = $('#one').offset().top; 
  var twoH = $('#two').offset().top; 

  if ($(window).scrollTop() >= oneH){
    $("header a").removeClass("active");
    $("header a#aone").addClass("active");
  }

  if ($(window).scrollTop() >= twoH){
    $("header a").removeClass("active");
    $("header a#atwo").addClass("active");
  }
});
.sect{
  width:100%;
  height:600px;
  background-color:yellow;
}
#two{
  background-color:blue;
}
header{
  position:fixed;
  top:0;
}
header a{
  display:inline-block;
  width:50px;
  border:1px solid black;
  text-align:center;
  background-color:red;
}
header a.active{
  background-color:green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<header>
  <a id="aone" class="active">div1</a>
  <a id="atwo">div2</a>
</header>
<div class="sect" id="one"></div>
<div class="sect" id="two"></div>