我嘗試了很多方法來使此代碼工作並每次都失敗。我知道這很容易,但我不能在它後面...無法調用此功能之外的功能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'代碼。 –