我正在尝试制作一个响应式网站菜单,该菜单可以用一个汉堡包打开(3行)。

我已经打开菜单,但是为了让它腾出空间,它一直在上下移动汉堡。

我如何做才能使您单击汉堡并将其保留在SAME PLACE中,同时打开菜单并播放其动画?

<div class="burger" id="burger" onclick="openBurger(this)">
    <div class="bar1"></div>
    <div class="bar2"></div>
    <div class="bar3"></div>
</center>


JS

function openBurger(x) {
    x.classList.toggle("change");
}

$("#burger").click(function() {
$("#nav").toggle();
});


汉堡包

javascript - 如何使JQuery切换不移动元素?-LMLPHP

如您所见,汉堡撞下来,为菜单留出空间。
javascript - 如何使JQuery切换不移动元素?-LMLPHP

谢谢。

最佳答案

您的汉堡菜单应独立于导航列表而生活。在此示例中,您可以将其包括在列表之前,并使用jQuery切换导航状态。



$("#burger").click(function() {
    var state = $("#nav").attr("class");
    $("#nav").attr("class", state == "show" ? "hide" : "show");
});

#burger { font-size: 32px; text-decoration: none; }
#nav { display: none; }
#nav.show { display: block; }

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a id="burger" href="#">☰</a>
<ul id="nav">
    <li><a class="bar1" href="#">Home</a></li>
    <li><a class="bar2" href="#">Work</a></li>
    <li><a class="bar3" href="#">Contact</a></li>
</ul>

关于javascript - 如何使JQuery切换不移动元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52877849/

10-09 15:24