我尝试了很多方法来使此代码工作并每次都失败。我知道这很容易,但我不能在它后面...无法调用此功能之外的功能Div
如果我点击3条纹,他们将转换为X - 完美的作品...但如果我想单击菜单文本 - 3条纹不会变形。
这里是工作代码的HTML,CSS和JS
function openCloseMenu(x) {
x.classList.toggle("change");
$('.navigation-menu').toggleClass('hidden');
}
.menu-container {
display: inline-block;
cursor: pointer;
white-space: nowrap;
float: right;
}
.menu-block {
display: inline;
white-space: nowrap;
width: auto;
}
.menu-block p {
font: 1.55em "Amatic Regular";
font-weight: bold;
float: right;
margin: 0;
color: #53b1c2;
padding-right: 0.3em;
cursor: pointer;
}
.bar1,
.bar2,
.bar3 {
background-color: #2ba4b8;
opacity: 0.8;
margin: 6px 0;
transition: 0.4s;
border-radius: 50px;
}
.bar1 {
width: 1em;
height: 5px;
}
.bar2 {
width: 1.5em;
height: 5px;
}
.bar3 {
width: 2em;
height: 5px;
}
/* Rotate first bar */
.change .bar1 {
width: 2em;
-webkit-transform: rotate(-45deg) translate(-9px, 6px);
transform: rotate(-45deg) translate(-9px, 6px);
}
/* Fade out the second bar */
.change .bar2 {
opacity: 0;
}
/* Rotate last bar */
.change .bar3 {
-webkit-transform: rotate(45deg) translate(-8px, -8px);
transform: rotate(45deg) translate(-8px, -8px);
}
<span class="menu-block">
<div class="menu-container" onclick="openCloseMenu(this);">
<div class="bar1"></div>
<div class="bar2"></div>``
<div class="bar3"></div>
</div>
<p class="hidden-xs" onclick="openCloseMenu(this);">MENÜ</p>
</span>
你必须的那个切换使用标准DOM和另一个一类代码的一行行与JQuery做。这很奇怪,但我甚至没有看到你甚至引用了JQuery。你做到了吗? –
@ScottMarcus可能是因为jquery的方法也可以处理项目的集合,但标准的DOM方法在一个元素上工作,或者OP仍在学习;) – niceman
您没有一个名为'hidden'的类,所以这会是一个问题为你的'toggleClass'代码。 –