为什么我的滚动条与我想要的相反?
Why is my scroll bar doing the opposite of what I want?
好的,这就是我正在尝试做的事情。我有一个包含项目列表的仪表板(仪表板 1、仪表板 2 等)。每当我点击其中一个时,我试图让它们每个都有一个下拉栏。这是我得到的:
这里是a.html
<html>
<head>
<title>Database</title>
<link rel="stylesheet" type="text/css" href="styles.css"/>
<link rel="stylesheet" type="text/css" href="dashboard.css"/>
<script src="scripts/jquery-1.12.0.min.js"></script>
<script src="scripts/general.js"></script>
</head>
<body>
<div id="header">
<div class="logo">
<a href="index.html"><img src="/images/whatever.png"/></a>
</div>
</div>
<div id="container">
<div class="sidebar">
<ul id="nav">
<li><a class=selected href="#">Dashboard</a></li>
<li><a href="#">Dashboard 1</a></li>
<li><a href="#">Dashboard 2</a></li>
<li><a href="#">Dashboard 3</a></li>
<li><a href="#">Dashboard 4</a></li>
</ul>
</div>
<div class="content">
some content yay
<div id="box">
<div class="box-top">News</div>
<div class="box-panel"> This is simple news lalal</div>
</div>
</div>
</div>
</body>
</html>
这里是dashboard.css(注意,styles.css在这里并不重要,主要用于不同的页面,所以我没有包括它):
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
div#dbheader {
width: 100%;
height: 50px;
background-color: #010101;
margin: 0 auto;
}
.logo a {
margin-left: 5px;
}
div#container {
width: 100%;
margin: 0 auto;
}
.sidebar {
width: 250px;
height: 100%;
background-color: #171717;
float: left;
}
.content {
width: auto;
height: 100%;
margin-left: 250px;
background-color: #222;
padding: 15px;
}
ul#nav li{
}
ul#nav li a{
text-decoration: none;
color: #aaa;
display: block;
padding: 10px;
font-size: 0.8em;
border-bottom: 1px solid;
border-color: #111;
-webkit-transition: 0.2s;
-moz-transition: 0.2s;
-o-transition: 0.2s;
transition: 0.2s;
}
ul#nav li a:hover,
ul#nav li a:active{
background-color:#030303;
color: #fff;
padding-left: 20px;
/* margin-left: 5px;*/
}
ul#nav li a.selected {
background-color: #030303;
color: #fff;
}
div#box {
margin-top: 15px;
}
div#box .box-top {
color: #fff;
text-shadow: 0px 0px 1px #000;
padding: 5px;
padding-left: 15px;
background-color: #2980b9;
font-weight: 300;
}
div#box .box-panel {
padding: 15px;
background-color: #fff;
color: #999;
}
最后,这是我的 general.js 文件:
$(document).ready(function(){
$("ul#nav li a.selected").click(function(){
$("ul#nav li").slideToggle('fast');
});
});
发生的事情是,我想单击边栏菜单的 a.selected 部分,然后我希望我已经拥有的边栏(只是为了看看它是否有效)快速向下滑动。但是发生的事情是,当我单击 a.selected(又名仪表板 1)时,整个侧边栏缩回到仪表板 1 中,仪表板侧边栏就消失了。所以它基本上做了与我想要的相反的事情。
有谁知道我该如何解决这个问题?
如果我正确理解了您的意图,这段代码应该可以完成工作:
$(document).ready(function(){
$("ul#nav li a.selected").click(function(){
$("ul#nav li:not(:first-child)").slideToggle('fast');
});
});
好的,这就是我正在尝试做的事情。我有一个包含项目列表的仪表板(仪表板 1、仪表板 2 等)。每当我点击其中一个时,我试图让它们每个都有一个下拉栏。这是我得到的:
这里是a.html
<html>
<head>
<title>Database</title>
<link rel="stylesheet" type="text/css" href="styles.css"/>
<link rel="stylesheet" type="text/css" href="dashboard.css"/>
<script src="scripts/jquery-1.12.0.min.js"></script>
<script src="scripts/general.js"></script>
</head>
<body>
<div id="header">
<div class="logo">
<a href="index.html"><img src="/images/whatever.png"/></a>
</div>
</div>
<div id="container">
<div class="sidebar">
<ul id="nav">
<li><a class=selected href="#">Dashboard</a></li>
<li><a href="#">Dashboard 1</a></li>
<li><a href="#">Dashboard 2</a></li>
<li><a href="#">Dashboard 3</a></li>
<li><a href="#">Dashboard 4</a></li>
</ul>
</div>
<div class="content">
some content yay
<div id="box">
<div class="box-top">News</div>
<div class="box-panel"> This is simple news lalal</div>
</div>
</div>
</div>
</body>
</html>
这里是dashboard.css(注意,styles.css在这里并不重要,主要用于不同的页面,所以我没有包括它):
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
div#dbheader {
width: 100%;
height: 50px;
background-color: #010101;
margin: 0 auto;
}
.logo a {
margin-left: 5px;
}
div#container {
width: 100%;
margin: 0 auto;
}
.sidebar {
width: 250px;
height: 100%;
background-color: #171717;
float: left;
}
.content {
width: auto;
height: 100%;
margin-left: 250px;
background-color: #222;
padding: 15px;
}
ul#nav li{
}
ul#nav li a{
text-decoration: none;
color: #aaa;
display: block;
padding: 10px;
font-size: 0.8em;
border-bottom: 1px solid;
border-color: #111;
-webkit-transition: 0.2s;
-moz-transition: 0.2s;
-o-transition: 0.2s;
transition: 0.2s;
}
ul#nav li a:hover,
ul#nav li a:active{
background-color:#030303;
color: #fff;
padding-left: 20px;
/* margin-left: 5px;*/
}
ul#nav li a.selected {
background-color: #030303;
color: #fff;
}
div#box {
margin-top: 15px;
}
div#box .box-top {
color: #fff;
text-shadow: 0px 0px 1px #000;
padding: 5px;
padding-left: 15px;
background-color: #2980b9;
font-weight: 300;
}
div#box .box-panel {
padding: 15px;
background-color: #fff;
color: #999;
}
最后,这是我的 general.js 文件:
$(document).ready(function(){
$("ul#nav li a.selected").click(function(){
$("ul#nav li").slideToggle('fast');
});
});
发生的事情是,我想单击边栏菜单的 a.selected 部分,然后我希望我已经拥有的边栏(只是为了看看它是否有效)快速向下滑动。但是发生的事情是,当我单击 a.selected(又名仪表板 1)时,整个侧边栏缩回到仪表板 1 中,仪表板侧边栏就消失了。所以它基本上做了与我想要的相反的事情。
有谁知道我该如何解决这个问题?
如果我正确理解了您的意图,这段代码应该可以完成工作:
$(document).ready(function(){
$("ul#nav li a.selected").click(function(){
$("ul#nav li:not(:first-child)").slideToggle('fast');
});
});