Sticky Nav&抵制导航代码互相破坏

时间:2018-05-06 03:29:49

标签: javascript function responsive sticky

我有一个navbar,我希望它具有粘性和响应性,但它​​们相互破坏,粘性似乎会阻止onclick="myFunction()"的响应

http://kenbeckhusen.com/

请帮助!!

代码:



<script>
function myFunction() {
    var x = document.getElementById("myTopnav");
    if (x.className === "topnav") {
        x.className += " responsive";
    } else {
        x.className = "topnav";
    }
}
</script>

<script>
  window.onscroll = function() {myFunction()};
  
  var header = document.getElementById("myHeader");
  var sticky = header.offsetTop;
  
  function myFunction() {
    if (window.pageYOffset >= sticky) {
      header.classList.add("sticky");
    } else {
      header.classList.remove("sticky");
    }
  }
  </script>
&#13;
&#13;
&#13;

1 个答案:

答案 0 :(得分:0)

你有两个叫做myFunction的函数。 只要你没有处于响应模式,只使用一个“myFunction”,所以没有错误。 但是一旦你进入响应,你突然有两个“myFunction”,一切都搞砸了。

习惯使用正确的函数名称,例如stickyFunction和responsiveFunction。你的问题应该奇迹般地消失。

STATE 1: [1:3,2:4,3:5,4:6]
STATE 2: [5:4]
STATE 3: [1:1,2:-1]