繁体   English   中英

JavaScript无法响应onclick

[英]JavaScript not responding to onclick

我想使用“汉堡” / <img>按钮切换导航列表的可见性。

<img onclick="dropdownMenu()" class="burger" src="img/icon/menu.png"></img>

我希望此按钮触发该脚本,该脚本位于<head><script>标记内。

<script>
        function dropdownMenu() {
            document.getElementsByTagName("nav").classList.toggle("show");
        }
</script>

菜单看起来像这样。

<nav>
     <ul class="menu">
          <li><a href="index.php">Hem</a></li>
          <li><a href="store.php">Festivaler</a></li>
          <li><a href="contact.php">Kontakt</a></li>
     </ul>
</nav>

我已经尝试过使用.classList.toggle("show"); .style.display = "none"; 并通过更改颜色进行了一些简单的测试。 我的语法错误还是其他问题?

函数getElementsByTagName返回DOM元素列表,要获取单个元素,必须从列表中选择一项。 话虽如此:

function dropdownMenu() {
    document.getElementsByTagName("nav")[0].classList.toggle("show");
}

与其使用getElementByTag,不如使用ID来更明确地选择标签。 按类或按标签查找将返回一个集合,而按ID查找将返回一个元素。

http://www.w3schools.com/jsref/met_doc_getelementbyid.asp

通过ID获得商品后,您将需要使用style.display =“ none”; 或包含Jquery,然后您可以使用切换按钮,在这种情况下,您也只需找到带有Jquery选择器的元素即可。

我认为现在完成了。

 <script>
        function nav(){
            document.getElementById("nav").style.visibility="hidden";
        }
    </script>

<img onclick="nav()" class="burger" src="img/icon/menu.png"></img>
                <nav id="nav">
                    <!-- navigationslista -->
                    <ul class="menu">
                        <li><a href="index.php">Hem</a></li>
                        <li><a href="store.php">Festivaler</a></li>
                        <li><a href="contact.php">Kontakt</a></li>
                    </ul>
                </nav>

我只需要使其切换即可。 感谢大伙们。 :D

这是一个可切换的解决方案:

<nav id="nav1">
        <ul class="menu">
          <li><a href="index.php">Hem</a></li>
          <li><a href="store.php">Festivaler</a></li>
          <li><a href="contact.php">Kontakt</a></li>
        </ul>
</nav>

<script>
        function dropdownMenu() {
          document.getElementById("nav1").classList.toggle("show");
        }
</script>

<style>
.show {
display: none;
}
</style>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM