【发布时间】:2016-10-07 08:15:49
【问题描述】:
你能告诉我为什么那个汉堡菜单不起作用吗?我真的没有找到答案;(连接HTML / Javascript是可以的。我必须说我不懂Javascript,我只是从网上复制代码,也许是JavaScript文件有问题?我的所有文件在一个文件夹中,没有子文件夹:
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="reset.css">
<link rel="stylesheet" type="text/css" href="style.css">
<script type="text/javascript" src="nav.js"></script>
</head>
<body>
<header>
<h1>Menu</h1>
<nav>
<a href="#" class="hamburger">
<div class="line"></div>
<div class="line"></div>
<div class="line"></div>
</a>
<ul class="clearfix menu">
<li><a href="#">Home</a></li>
<li><a href="#">Service</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">About</a></li>
</ul>
</nav>
</header>
</body>
CSS:
@import url('http://fonts.googleapis.com/css?family=Roboto:400,700');
*, *:before, *:after {
margin: 0;
padding: 0;
box-sizing: border-box;
}
.clearfix:after {
content: "";
display: table;
clear: both;
}
html, body {
height: 100%;
}
body {
font: 1em 'Roboto', sans-serif;
color: #555;
background-color: #fff;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
ul {
list-style: none;
max-width: 800px;
margin: 0 auto;
border-left: 1px solid #ddd;
border-right: 1px solid #ddd;
}
h1 {
padding: 30px 0;
font: 1.5em 'Open Sans', sans-serif;
text-align: center;
}
nav {
border-top: 1px solid #ddd;
border-bottom: 1px solid #ddd;
background-color: #f5f5f5;
}
ul a {
display: block;
padding: 20px;
padding-right: 0 !important; /* important overrides media queries */
font-size: 13px;
font-weight: bold;
text-align: center;
color: #aaa;
cursor: pointer;
text-decoration: none;
}
ul a:hover {
background: #eee;
}
nav li {
float: left;
width: 20%;
border-right: 1px solid #ddd;
}
nav li:last-child {
border-right: none;
}
@media only screen and (max-width: 480px) {
.hamburger {
padding: 15px;
display: block;
}
.line {
border-bottom: 4px solid #bbb;
width: 35px;
margin-bottom: 6px;
}
.line:last-child {
margin-bottom: 0;
}
nav li {
width: 100%;
}
.menu {
height: 0;
overflow: hidden;
transition: height 0.3s linear;
}
.slide-down {
height: 262px;
}
}
Javascript:
$('.hamburger').on('click', function(e) {
e.preventDefault();
$('.menu').toggleClass('slide-down');
});
【问题讨论】:
-
你添加
jQuery了吗?我没看到。在任何其他脚本之前添加它,它应该可以工作。 -
我已经添加了,但是还是不行
-
jsfiddle.net/xg3s83yo 它的工作。在小屏幕上查看
-
所以问题在于 JS 和 HTML 的连接,对我来说,在所有其他脚本之前放置
-
能否请您为您的代码制作一个小提琴并给我链接?