单击切换时更改徽标的 css 属性

Change a css property of a logo when toggle is clicked

我想在单击切换时将 css 属性 (z-index) 更改为导航栏中的徽标。 比我需要在关闭该切换开关时将 属性 改回来。这可能吗?

我的切换有 class "ubermenu-responsive-toggle-main" 我的徽标有 class "header-logo" 打开切换有一个 class "ubermenu-responsive-toggle-open"

<!DOCTYPE html>
<html>
 <body>

<div id="demo" customAttribute="value1">this text toogles</div> 
<button onclick="myFunction()">Click me</button>

<script>
function myFunction() {
   elm=document.getElementById("demo");
  elm.setAttribute("customAttribute",elm.getAttribute("customAttribute")=="value1"?"value2":"value1");
}
</script>

<style>
[customAttribute=value2]{
visibility: visible; 
}

[customAttribute=value1]{
visibility: hidden;
}
</style>

</body>
</html>

此代码是一个简单的切换按钮,当您单击按钮时,它会隐藏然后显示文本。 关键是线 elm.setAttribute("customAttribute",elm.getAttribute("customAttribute")=="value1"?"value2":"value1");

将您的 z-index 放入 css 文件中的 class -

CSS

.z-index-high {
    z-index: 999;
}

JS

toggleBtn.addEventListener("click", () => {
    toggleBtn.classlist.toggle("ubermenu-responsive-toggle-open");
    if(toggleBtn.classlist.contains("ubermenu-responsive-toggle-open") {
        logo.classlist.add("z-index-high");
     } else logo.classlist.remove("z-index-high");
});

z-index 属性 不是必须放在 css class 中。只是比较容易对付 因为 classlist 属性存在于 DOM 个节点中。

希望这对您有所帮助。