为什么我的滚动条与我想要的相反?

时间:2016-01-17 22:32:27

标签: javascript jquery html css dashboard

好的,所以这就是我想做的事情。我有一个带有项目列表的仪表板(仪表板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,仪表板侧栏就消失了。所以它基本上与我想要的相反。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果我理解你的意图,这段代码就可以完成这项工作:

$(document).ready(function(){
  $("ul#nav li a.selected").click(function(){
    $("ul#nav li:not(:first-child)").slideToggle('fast');
  });
});