jquery - 如果基于滚动位置的语句不起作用

标签 jquery html css

仅当滚动到蓝色部分时,我需要导航栏为白色。我自己尝试过这样做,但效果不佳。这不是我想要实现的最终结果,我只需要它能够工作,以便我可以继续编码。谢谢

https://codepen.io/Reece_Dev/pen/MmKprq

$(window).scroll(function() {
  var scrollPos = $(window).scrollTop();
  var page1Top = $("#sec_one").scrollTop();
  var page1Bot = $("#sec_one").outerHeight();

  var page2 = $("#sec_two").scrollTop();
  var page3 = $("#sec_three").scrollTop();

  if (scrollPos => page1Top && scrollPos < page1Bot) {
    $('nav').css("background-color", "#ffffff");
  }
});
* {
  margin: 0;
  padding: 0;
}

nav {
  width: 100%;
  background-color: black;
  position: fixed;
  top: 0;
}

nav ul {
  width: 50%;
  margin: 0 auto;
  list-style-type: none;
  text-align: center;
}

nav ul li {
  display: inline;
  width: 100%;
}

nav ul li a {
  font-size: 40px;
  color: white;
  text-decoration: none;
}

nav ul li a {}

.sections {
  width: 100%;
  height: 100vh;
}

#sec_one {
  background-color: blue;
}

#sec_two {
  background-color: red;
}

#sec_three {
  background-color: yellow;
}
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>

<nav>
  <ul>
    <li><a href="" id="link 1">Link 1</a></li>
    <li><a href="" id="link 2">Link 2</a></li>
    <li><a href="" id="link 3">Link 3</a></li>
  </ul>
</nav>

<div id="sec_one" class="sections">

</div>

<div id="sec_two" class="sections">

</div>

<div id="sec_three" class="sections">

</div>

最佳答案

这是因为“优于或等于”在 JavaScript 中需要这样写:>=。你的是这样的:=>

如果滚动位置条件为 false,则需要改回颜色:

if(scrollPos >= page1Top && scrollPos < page1Bot){
    $('nav').css("background-color", "#ffffff");
} else {
    $('nav').css("background-color", "#000000");
}

如果蓝色部分是页面顶部的第一个部分,则应在 CSS 代码中将其定义为白色。

查看工作JSFiddle .

关于jquery - 如果基于滚动位置的语句不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43497474/

相关文章:

jquery - 如何让我的 div 显示选定的 youtube api 内容?

PHP get_headers() 生成头文件

css - 使 <div> 与页面一样宽

虚拟目录中的 Javascript 不知道虚拟目录

javascript - jquery复选框检查属性和三元运算符

javascript - jQuery 事件中 'this' 的对象上下文

php - 使用ajax删除选中的表行

html - 输入类型 "color"?

html - Bootstrap 导航栏如何给它一个最大宽度

html - div 元素中的数据属性并显示在::after 伪元素上