动画/滑动侧边菜单不向左滑动?



如何解决侧边菜单不从左侧(向左(滑出的问题?我从YouTube视频中得到了它。回溯到 YouTube 演示者,没有反馈。

它由HTML,CSS和JavaScript组成。


索引文件

索引文件是调用或与CSS文件和JavaScript文件同步的文件

<!DOCTYPE html>
<html lang="en">
<head>
<title>Bootstrap Example</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<link href="toggleMenu.css" type="text/css" rel="stylesheet">
<script link="toggleMenu.js"></script>  
</head>
<body>
<div id="sidebar">
<div class="toggle-btn" onclick="toggleSidebar()">
<span></span>
<span></span>
<span></span>
</div>
<ul>
<li>Home</li>
<li>About</li>
<li>Contact</li>
</ul>
</div> 
</body>
</html>

CSS 文件:

CSS文件定义了具有定义属性的各种类

* {
margin:0px;
padding:0px;
font-family: sans-serif;
}
#sidebar {
position:fixed;
width:200px;
height:100%;
background:#151719;
left:-200px;
transition: all 500ms linear;
}
#sidebar.active{
left:0px;
}
#sidebar ul li {
color:rgba(230, 230, 230, 0.9);
list-style:none;
padding:15px 10px;
border-bottom: 1px solid rgba(100, 100, 100, 0.3);
}
#sidebar .toggle-btn {
position:absolute;
left:230px;
top:20px;
}
#sidebar .toggle-btn span {
display: block;
width:30px;
height:5px;
background:#151719;
margin: 5px 0px;
}

JavaScript

JavaScript 处理用户单击切换按钮时的滑动效果 (toggle-btn(

function toggleSidebar() {
document.getElementByID("sidebar").classlist.toggle("active");
}

你的切换函数中有几个拼写错误,它应该是:

function toggleSidebar() {
document.getElementById("sidebar").classList.toggle("active");
}

这是一个工作版本,请单击下面的运行代码段:

function toggleSidebar() {
document.getElementById("sidebar").classList.toggle("active");
}
* {
margin:0px;
padding:0px;
font-family: sans-serif;
}
#sidebar {
position:fixed;
width:200px;
height:100%;
background:#151719;
left:-200px;
transition: all 500ms linear;
}
#sidebar.active{
left:0px;
}
#sidebar ul li {
color:rgba(230, 230, 230, 0.9);
list-style:none;
padding:15px 10px;
border-bottom: 1px solid rgba(100, 100, 100, 0.3);
}
#sidebar .toggle-btn {
position:absolute;
left:230px;
top:20px;
}
#sidebar .toggle-btn span {
display: block;
width:30px;
height:5px;
background:#151719;
margin: 5px 0px;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<div id="sidebar">
<div class="toggle-btn" onclick="toggleSidebar()">
<span></span>
<span></span>
<span></span>
</div>
<ul>
<li>Home</li>
<li>About</li>
<li>Contact</li>
</ul>
</div>

您需要修复 2 点

脚本应该使用 src 属性而不是链接,所以它将是

<script src="toggleMenu.js"></script>

并且类列表应该用大写的 L 写,所以而不是document.getElementById("sidebar").classlist.toggle("active");它 应该是

document.getElementById("sidebar").classList.toggle("active");

https://codepen.io/divided7/pen/PoPrwPe 我给你做了一个代码笔,结果是固定的。 此外,在脚本标记的代码中将link更改为src,并将拼写错误(classlist更改为classList(

最新更新