如何根据 javascript 中的点击按钮更新 CSS

How to update CSS based on click button in javascript

我正在使用 bootstrap5 构建一个简单的网站(目前没有 JS)。 当我最小化屏幕以使导航栏成为汉堡按钮时,我希望每当我单击它并显示菜单时,下面元素的边距顶部会增加,以便菜单不会写在顶部它。

我认为在 JS 中有一种方法可以做到这一点,但我已经尝试了一些没有用的方法。

这里是我的代码的摘录:

<nav class="navbar navbar2 navbar-expand-lg navbar-light bg-white">
<div class="container-fluid">
    <button class="navbar-toggler" id="button-burger" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
  <div class="collapse navbar-collapse" id="navbarNav">
    <ul class="navbar-nav navbar-center2">
.........
.........
.........
.........
</nav>

<div class="container-fluid nav-wrapper" id="container-below-header">

基本上我想把下面div的class改成每当我点击按钮的时候就改。 感谢您的帮助!

您可以在点击时使用 element.classList.toggle("ClassName"); 到 add/remove class

  1. select toggle-able 元素
  2. select 附加点击监听器的元素
  3. 添加点击事件监听器
    var element = document.querySelector(".myclass");
    var someElement = document.querySelector(".otherClass");
    someElement.addEventListener('click', function () {
        element.classList.toggle("show");
    });

您可以通过创建两个 类 来实现。

  1. 将包含按钮处于活动状态(即单击)时的所有样式

  2. 将包含按钮处于非活动状态时的所有样式。

css

.active{...styles when button is clicked}
.inactive{ ... }

JS

const button = document.getElementById(' id for that button');
button.addEventListener("click",()=>{
      if(button. classList.contains(".active")){
           button. classList.remove(".active");
           button.classList.add(".inactive")
    }else{
        button.classList.add(".active");
        button.classList.remove(".inactive");
    }
  })