2017-08-11 47 views
-1

我想打开/关闭菜单只需按动一个按钮,我想用只有JavaScript

function openNav() { 
 
    document.getElementById("myNav").style.height = "100%"; 
 
} 
 

 
function closeNav() { 
 
    document.getElementById("myNav").style.height = "0%"; 
 
}
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&#9776;</a>

+0

哪里是'myNav'元素? –

+0

你的意思是一个切换菜单? –

+0

菜单的html代码。你应该添加你想隐藏的菜单的html代码并显示 – MJK

回答

0

你有更好的解释,但我想我明白你想要什么。

只需使用显示块。

事情是这样的:

function openNav() { 
var menu = document.getElementById("myNav").style.display; 

If (menu == "block") { 
menu="none"; 
}else{ 
menu="block"; 
}} 

// Open and close div 
<a href="javascript:void(0)" class="closebtn" onclick="openNav()">&#9776;</a> 

我不知道如果语法是正确的,因为我是从我的电话写这个。

但我认为这是有效的。

让我知道。

+0

如果还是其他?这就是我正在寻找的,单个按钮。对不起会更具体下一次。 – Iceberg

+0

立即尝试。我编辑了代码。 –

+0

它不起作用。你做错了什么?我想学 – Iceberg

0

应该切换功能

function toggleNav(){ 
 
     var myNav = document.getElementById("myNav"); 
 
     if(!myNav) return; 
 
     myNav.style.display = myNav.style.display.toLowerCase() != 'none'? 'none' : 'block'; 
 
    }
<a href="javascript:void(0)" class="closebtn" onclick="toggleNav()">&#9776;</a> 
 

 
<div id="myNav" style="width: 100px; height: 100px; background: #ff0000; display:none;"></div>

+0

好的,谢谢。仍在学习JS :) – Iceberg

+0

如何阻止它自动打开? – Iceberg

+0

集'显示:none' =>''

0
<div href="javascript:void(0)" class="closebtn" onclick="toggleNav()">&#9776;</div> 

<div id="myNav" class="overlay"> 
<div class="overlay-content"> 
<a href="#">About</a> 
<a href="#">Services</a> 
<a href="#">Clients</a> 
<a href="#">Contact</a> 
</div> 
</div> 

<style> 
html, body{ 
margin: 0; 
} 
.overlay { 
height: 0%; 
width: 100%; 
background-color: rgba(0,0,0, 0.9); 
overflow-y: hidden; 
} 

.overlay-content { 
position: relative; 
text-align: center; 
margin-top: 50px; 
} 

.overlay a { 
padding: 8px; 
text-decoration: none; 
font-size: 36px; 
color: #818181; 
display: block; 
transition: 0.3s; 
} 

.overlay a:hover, .overlay a:focus { 
color: #f1f1f1; 
} 

.closebtn{ 
position: absolute; 
float: right; 
right: 15px; 
top: 10px; 
font-size: 30px; 
cursor: default; 
color: #eee 
} 
</style> 

<script> 
function toggleNav(){ 
    var myNav = document.getElementById("myNav"); 
    if(!myNav) return; 
    myNav.style.display = myNav.style.display.toLowerCase() != 'none'? 'none' : 'block'; 
} 
</script> 
+0

管理得当,谢谢大家:)这不是我在文本编辑器中编写的。 – Iceberg

相关问题