所以我不确定这到底是如何工作的,但事情是这样的。所以我想在用户点击菜单链接项或正文上的任何地方后关闭菜单侧栏,然后在按下菜单图标时再次打开。我认为这是一个简单的答案,但我所尝试的似乎是一种全力以赴的方法。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<meta name="viewport" content= "width=device-width, initial-scale=1.0">
<style>
/* the side menu */
.sidenav {
height: 100%;
width: 0;
position: fixed;
z-index: 1;
top: 0;
left: 0;
background-color: white;
overflow-x: hidden;
transition: 0.5s;
border: 1px solid black;
}
.sidenav a {
padding: 3px;
margin: 5px;
text-decoration: none;
font-size: .9em;;
color: black;
display: block;
transition: 0.3s;
}
</style>
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="#">cars</a>
<a href="#">planes</a>
<a href="#">boats</a>
<a href="#">cycles</a>
</div>
<span style="font-size:1.5em;cursor:pointer" onclick="openNav()">☰</span>
<body>
<p>some random text some random textsome random textsome random text</p>
<p>some random text some random textsome random textsome random text</p>
<p>some random text some random textsome random textsome random text</p>
</body>
<script>
$(document).ready(function(){
$('body').on('click',function(){
$('#mySidenav').css('width', '0px');
});
});
</script>
<script>
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
}
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
</script>
当用户点击打开菜单侧边栏并选择菜单项时,或者在正文区域中,侧边栏必须再次关闭。我看了一下建议的答案,我必须说,这些答案似乎都很令人望而生畏,也许是因为我缺乏理解。