Javascript 使用html和jquery创建侧菜单

Javascript 使用html和jquery创建侧菜单,javascript,jquery,html,Javascript,Jquery,Html,我试图用html和jquery/javascript在我的网页上显示一个侧菜单。我只能显示侧菜单,但无法打开和关闭侧菜单。在这方面需要帮助 Html: 菜单 尝试使用简单的侧边菜单 <html> <head> <style> body { font-family: "Lato", sans-serif; } .sidenav { height: 100%; width: 0; position: fixed;

我试图用html和jquery/javascript在我的网页上显示一个侧菜单。我只能显示侧菜单,但无法打开和关闭侧菜单。在这方面需要帮助

Html:


菜单

尝试使用简单的侧边菜单

<html>
<head>
<style>
body {
    font-family: "Lato", sans-serif;
}

.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #111;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
}

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

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

.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}

#main {
    transition: margin-left .5s;
    padding: 16px;
}

@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}
</style>
</head>
<body>

<div id="mySidenav" class="sidenav">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
  <a href="https://yahoo.co.in">Yahoo!!</a>
  <a href="https://gmail.com"> GMail </a>
  <a href= "https://twitter.com">twitter</a>
</div>

<div id="main">
  <span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; Menu</span>
</div>

<script>
function openNav() {
    document.getElementById("mySidenav").style.width = "250px";
    document.getElementById("main").style.marginLeft = "250px";
}

function closeNav() {
    document.getElementById("mySidenav").style.width = "0";
    document.getElementById("main").style.marginLeft= "0";
}
</script>   
</body>
</html>

(功能(){
$('#openIcon')。在('单击',函数()上){
$(“#侧菜单”).toggleClass(“活动”);
});
})();
#打开图标{
光标:指针;
}
#副菜单{
左-100%;
位置:绝对位置;
}
.主动{
左:0!重要;
}

菜单

尝试使用简单的侧边菜单

<html>
<head>
<style>
body {
    font-family: "Lato", sans-serif;
}

.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #111;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
}

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

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

.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}

#main {
    transition: margin-left .5s;
    padding: 16px;
}

@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}
</style>
</head>
<body>

<div id="mySidenav" class="sidenav">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
  <a href="https://yahoo.co.in">Yahoo!!</a>
  <a href="https://gmail.com"> GMail </a>
  <a href= "https://twitter.com">twitter</a>
</div>

<div id="main">
  <span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; Menu</span>
</div>

<script>
function openNav() {
    document.getElementById("mySidenav").style.width = "250px";
    document.getElementById("main").style.marginLeft = "250px";
}

function closeNav() {
    document.getElementById("mySidenav").style.width = "0";
    document.getElementById("main").style.marginLeft= "0";
}
</script>   
</body>
</html>

(功能(){
$('#openIcon')。在('单击',函数()上){
$(“#侧菜单”).toggleClass(“活动”);
});
})();
#打开图标{
光标:指针;
}
#副菜单{
左-100%;
位置:绝对位置;
}
.主动{
左:0!重要;
}

菜单

尝试下面的侧菜单

<html>
<head>
<style>
body {
    font-family: "Lato", sans-serif;
}

.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #111;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
}

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

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

.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}

#main {
    transition: margin-left .5s;
    padding: 16px;
}

@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}
</style>
</head>
<body>

<div id="mySidenav" class="sidenav">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
  <a href="https://yahoo.co.in">Yahoo!!</a>
  <a href="https://gmail.com"> GMail </a>
  <a href= "https://twitter.com">twitter</a>
</div>

<div id="main">
  <span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; Menu</span>
</div>

<script>
function openNav() {
    document.getElementById("mySidenav").style.width = "250px";
    document.getElementById("main").style.marginLeft = "250px";
}

function closeNav() {
    document.getElementById("mySidenav").style.width = "0";
    document.getElementById("main").style.marginLeft= "0";
}
</script>   
</body>
</html>

身体{
字体系列:“Lato”,无衬线;
}
.侧导航{
身高:100%;
宽度:0;
位置:固定;
z指数:1;
排名:0;
左:0;
背景色:#111;
溢出x:隐藏;
过渡:0.5s;
填充顶部:60px;
}
.侧导航a{
填充:8px 8px 8px 32px;
文字装饰:无;
字体大小:25px;
颜色:#818181;
显示:块;
过渡:0.3s
}
.sidenav a:悬停,.offcanvas a:聚焦{
颜色:#f1f1;
}
.sidenav.closebtn{
位置:绝对位置;
排名:0;
右:25px;
字体大小:36px;
左边距:50像素;
}
#主要{
过渡:左边距。5s;
填充:16px;
}
@媒体屏幕和屏幕(最大高度:450像素){
.sidenav{填充顶部:15px;}
.sidenav a{字体大小:18px;}
}
☰ 菜单
函数openNav(){
document.getElementById(“mySidenav”).style.width=“250px”;
document.getElementById(“main”).style.marginLeft=“250px”;
}
函数closeNav(){
document.getElementById(“mySidenav”).style.width=“0”;
document.getElementById(“main”).style.marginLeft=“0”;
}

尝试下面的侧菜单

<html>
<head>
<style>
body {
    font-family: "Lato", sans-serif;
}

.sidenav {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;
    background-color: #111;
    overflow-x: hidden;
    transition: 0.5s;
    padding-top: 60px;
}

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

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

.sidenav .closebtn {
    position: absolute;
    top: 0;
    right: 25px;
    font-size: 36px;
    margin-left: 50px;
}

#main {
    transition: margin-left .5s;
    padding: 16px;
}

@media screen and (max-height: 450px) {
  .sidenav {padding-top: 15px;}
  .sidenav a {font-size: 18px;}
}
</style>
</head>
<body>

<div id="mySidenav" class="sidenav">
  <a href="javascript:void(0)" class="closebtn" onclick="closeNav()">&times;</a>
  <a href="https://yahoo.co.in">Yahoo!!</a>
  <a href="https://gmail.com"> GMail </a>
  <a href= "https://twitter.com">twitter</a>
</div>

<div id="main">
  <span style="font-size:30px;cursor:pointer" onclick="openNav()">&#9776; Menu</span>
</div>

<script>
function openNav() {
    document.getElementById("mySidenav").style.width = "250px";
    document.getElementById("main").style.marginLeft = "250px";
}

function closeNav() {
    document.getElementById("mySidenav").style.width = "0";
    document.getElementById("main").style.marginLeft= "0";
}
</script>   
</body>
</html>

身体{
字体系列:“Lato”,无衬线;
}
.侧导航{
身高:100%;
宽度:0;
位置:固定;
z指数:1;
排名:0;
左:0;
背景色:#111;
溢出x:隐藏;
过渡:0.5s;
填充顶部:60px;
}
.侧导航a{
填充:8px 8px 8px 32px;
文字装饰:无;
字体大小:25px;
颜色:#818181;
显示:块;
过渡:0.3s
}
.sidenav a:悬停,.offcanvas a:聚焦{
颜色:#f1f1;
}
.sidenav.closebtn{
位置:绝对位置;
排名:0;
右:25px;
字体大小:36px;
左边距:50像素;
}
#主要{
过渡:左边距。5s;
填充:16px;
}
@媒体屏幕和屏幕(最大高度:450像素){
.sidenav{填充顶部:15px;}
.sidenav a{字体大小:18px;}
}
☰ 菜单
函数openNav(){
document.getElementById(“mySidenav”).style.width=“250px”;
document.getElementById(“main”).style.marginLeft=“250px”;
}
函数closeNav(){
document.getElementById(“mySidenav”).style.width=“0”;
document.getElementById(“main”).style.marginLeft=“0”;
}

菜单

菜单

我看不到图标的打开和关闭,就像单击下拉列表一样。你是否尝试了第二个代码段,即
w3schools
示例你能告诉我你到底需要什么吗?嗨,奈拉,我在
vscode
中尝试了你的代码,但它对我不起作用。我看不到图标的打开和关闭,就像单击下拉列表一样您尝试使用第二个代码段,即
w3schools
示例您能告诉我您到底需要什么吗?嗨,奈拉,我在
vscode
中尝试了您的代码,但它对我不起作用。为什么使用
javascript:void(0)
当在网页中插入表达式可能会产生不必要的副作用时,通常会使用javascript void。通过使用JavaScript:Void(0),可以消除不必要的副作用,因为它将返回未定义的值。JavaScript:Void(0)的一个常见用法是与超链接一起使用。为什么使用
JavaScript:Void(0)
在网页中插入表达式可能会产生不必要的副作用时,通常使用JavaScript:Void。通过使用JavaScript:Void(0),可以消除不必要的副作用,因为它将返回未定义的值。JavaScript的一个常见用法:Void(0)与超链接一起使用。请阅读页面,而不是要求他人实现您的要求。请阅读页面,而不是要求他人实现您的要求。