我正在尝试制作一个响应式网站菜单,该菜单可以用一个汉堡包打开(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();
});
汉堡包
如您所见,汉堡撞下来,为菜单留出空间。
谢谢。
最佳答案
您的汉堡菜单应独立于导航列表而生活。在此示例中,您可以将其包括在列表之前,并使用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/