【问题标题】:How can I change li color when the navbar become sticky?当导航栏变粘时,如何更改 li 颜色?
【发布时间】:2023-04-10 09:20:01
【问题描述】:

当位置变粘时,我想更改导航栏上链接的颜色。 ("links-color") 是一个 css 类,用于替换 li 上现有的类。

粘性位置的代码已经在工作。

var customNav = document.querySelector(".navbarcontainer");
var mylinks = document.querySelectorAll(".nav-link");
var CustomSticky = customNav.offsetTop;

function myNav() {
  console.log("CustomSticy= " + CustomSticky);
  console.log("scrollY=" + window.scrollY);

  if (window.scrollY >= CustomSticky) {
    customNav.classList.add("sticky-navbar");
    mylinks.classlist.add("links-color")
  } else {
    customNav.classList.remove("sticky-navbar ");
    mylinks.classlist.remove("links-color")
  }
}
window.addEventListener('scroll', myNav);

【问题讨论】:

  • 请向我们提供一个可重现的最小示例。您可以使用例如JSFiddle 向我们展示你的 sn-p。

标签: javascript css navbar sticky


【解决方案1】:

试试这个:

var $header = $('header');
    var $sticky = $header.before($header.clone().addClass("sticky"));
    $(window).on("scroll", function(){
        var scrollFromTop = $(window).scrollTop();
        $("body").toggleClass("scroll", (scrollFromTop > 100));
    });



header.sticky  ul li a {
    color: red;
}
body.scroll header.sticky {
    transform: translateY(0);
}
header.sticky {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    background: rgba(0,0,0,0.85);
       z-index: 5;
}


<header>
      <nav class="nav-wrapper">
        <div class="logo">
          <a href="#">
            logo
          </a>
        </div>
        <ul class="menu">
          <li><a href="#home">Home</a></li>
          <li><a href="#work">My Work</a></li>
          <li><a href="#about">About</a></li>

        </ul>
      </nav>
          </header>

【讨论】:

    【解决方案2】:

    如果你的 dom 元素是对齐的—— .navbarcontainer.sticky-navbar -&gt; ul -&gt; li -&gt; a.link-color

    那么 .sticky-navbar li{ color: red }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-06-06
      • 2014-06-11
      • 2018-02-06
      • 1970-01-01
      • 2019-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多