1

我已经使用了一段时间的列表菜单遇到了两个问题。

  1. 我无法让列表仅扩展一个列表(一两个,而不是一两个)。
  2. ~已修复~我完全不知道为什么链接不起作用。~已修复~

这是 JSFiddle - http://jsfiddle.net/yAqQG/1/

任何帮助表示赞赏,谢谢。

HTML

<div class="navigation">
<ul>
<li><h1><a href="#">One</a></h1>
    <ul>
    <li><a href="#">Not Available</a></li>
    <li><a href="#">Not Available</a></li>
    </ul>
</li>
<li><h1><a href="#">Two</a></h1>
    <ul>
    <li><a href="#">Not Available</a></li>
    <li><a href="#">Not Available</a></li>
    </ul>
</li>
</ul>
</div>

jQuery

jQuery(document).ready(function () {

    var subMenu = jQuery(".navigation ul li ul li");
    var linkClick = jQuery(".navigation ul li").filter(":has(ul)");

    subMenu.hide();

    linkClick.click(function (e) {
        e.preventDefault();
        $(this).find('ul li').slideToggle("fast");
    });
});

CSS

body {
    background : #000000;
}

/* Title Settings */
.navigation ul li h1 {
    background : none;
    float : right;
    font-size : 28px;
    font-weight : 100;
    margin : 0;
    margin-bottom : 3px;
    padding : 0;
}
/* Before and After Styling */
.navigation a {
    color : #ffffff;
    border-right : 3px solid #ffffff;
    display : table;
    padding : 6px;
    transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -webkit-transition: .25s ease-in-out;
    text-decoration : none;
}
.navigation a:hover {
    border-right : 3px solid #f43058;
    color : #f43058;
}
/* Fixed (Top Right) Positioning */
.navigation {
    font-family : 'Open Sans Condensed', sans-serif;
    font-weight : 100;
    margin : 12px;
    position : fixed;
    right : 0;
    top : 0;
}
.navigation ul {
    font-size : 20px;
    margin : 0;
    padding : 0;
    text-align : right;
}
.navigation ul li {
    clear : right;
    float : right;
    list-style-type : none;
}
/* Second Level Settings */
.navigation ul li:hover ul {
    display : block;
}
.navigation ul li ul li {
    font-size : 18px;
    margin-bottom : 3px;
}
4

1 回答 1

3

您的链接不起作用,因为您已将 preventDefault 应用于所有链接:

linkClick.click(function (e) {
    e.preventDefault();
});

我已经a从您的 h1 标签周围删除了标签。为了让手风琴工作,你可以这样做:

http://jsfiddle.net/W8H6W/3/

jQuery(document).ready(function () {
    jQuery('h1').click(function () {
        $(this).closest('li').siblings().find('ul').slideUp();
        $(this).siblings('ul').slideToggle("fast");
    });
});
于 2013-03-05T01:33:53.643 回答