0

嗨,我尝试使用 jQuery 创建一个下拉菜单,我正在使用该slideToggle功能以在下次单击时关闭上一个菜单。但是,当我单击导航元素时,其他元素似乎会下降20px

我不能 100% 确定为什么会发生这种情况,如果有人能告诉我哪里出错了,我将不胜感激。提前致谢。

我的代码在下面或查看jsFiddle

js/js.js

$('.nav_parent h5').click(function () {
  $(this).next('.nav_child').slideToggle();
   $(this).parent().siblings().children().next().slideUp();
    return false;
});

索引.html

<div class="container">
    <ul id="header_nav">
        <li class="nav_parent">
            <h5>Reports</h5>

            <ul class="nav_child">
                <li><a href="#" class="mnavlink">Download CSV</a>
                </li>
            </ul>
        </li>
        <li class="nav_parent">
            <h5>Build</h5>

            <ul class="nav_child">
                <li><a href="#" class="mnavlink">Build new site</a>
                </li>
            </ul>
        </li>
        <li class="nav_parent">
            <h5>Subscriptions</h5>

            <ul class="nav_child">
                <li><a href="#" class="mnavlink">E-Briefings</a>
                </li>
            </ul>
        </li>
        <li class="nav_parent">
            <h5>Media Store</h5>

            <ul class="nav_child">
                <li><a href="#" class="mnavlink">Image Store</a>
                </li>
            </ul>
        </li>
    </ul>
</div>

css/style.css

.nav_parent {
    display:inline-block;
    width:24%;
    background:#FCCC5F;
}
.nav_parent h5:hover {
    background:#FCE49D;
}
.nav_child {
    display:none;
}
.nav_child li {
    line-height:30px;
}
.nav_child li:hover {
    background:#FCE49D;
}
4

1 回答 1

1

你的css有问题。改成:

.nav_parent {
    display:block;
    float: left;
    width:24%;  
    background:#FCCC5F;
}

http://jsfiddle.net/uCaQ2/ 小提琴

于 2013-11-10T15:17:55.520 回答