【发布时间】:2021-09-07 19:25:58
【问题描述】:
我想在单击汉堡按钮时隐藏一个元素。 (要隐藏的元素见 CaptureElementNoDisplay.PNG)
当我再次单击汉堡按钮关闭菜单时,我想重新显示该项目。
当我显示菜单时,我设法隐藏了带有徽标的介绍元素。 (参见 CaptureElementNoDisplay.PNG)
但我无法再次显示包含中间标志的介绍的 div。 (参见 CaptureElementNoMoreDisplay.PNG)
网站链接:https://adding.hm-dev.com/1/
这里是源代码。
源代码 HTML:
<nav class="navbar navbar-dark justify-content-end" style="background-color: #0145FF;">
<button id="home" class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarToggleExternalContent" aria-controls="navbarToggleExternalContent" aria-expanded="false" aria-label="Toggle navigation"> <span class=" navbar-toggler-icon "></span>
</button></nav>
<section id="intro1" style="height: 652px;background-color: #0145FF; ">
<div class="center logo-intro-1">
<img src="./assets/images/logo_adding.png " alt=" " width="450 ">
</div>
<ul class="nav flex-column text-right pr-5">
<li class="nav-item">
<a class="nav-link2 text-white" href="">Black</a></li>
<li class="nav-item"><a class="nav-link2 text-white" href="#">Red</a></li>
<li class="nav-item"><a class="nav-link2 text-white" href="#">Violet</a></li>
<li class="nav-item"><a class="nav-link2 text-white" href="#">Blue</a></li>
<li class="nav-item"><a class="nav-link2 text-white" href="#">Green</a></li></ul>
</section>
源代码 JavaScript :
$('.navbar-toggler').click(function() {
var booleanNoDisplay = true;
var intro1 = document.getElementById("intro1");
intro1.classList.add("NoDisplay");
if (booleanNoDisplay) {
console.log('ok TRUE');
$('#intro1').show(); // This line is not useful because the element is already displayed by default
booleanNoDisplay = false; //I don't know when to set the value to false...
}
if (!booleanNoDisplay) {
console.log('ok false');
$('#intro1').hide();
intro1.classList.add("display-block");
booleanNoDisplay = true;
}
});
你知道问题出在哪里吗?
【问题讨论】:
-
每次单击按钮时,
var booleanNoDisplay始终为 true。将其移到您的点击语句之外,否则您将永远无法到达 if 语句的“假”部分
标签: javascript html jquery css