代码之家  ›  专栏  ›  技术社区  ›  Zifaun

JQuery幻灯片切换效果:仅幻灯片一列表和不工作链接

  •  1
  • Zifaun  · 技术社区  · 12 年前

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

    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)

    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;
    }
    
    1 回复  |  直到 12 年前
        1
  •  3
  •   isherwood    11 年前

    您的链接不起作用,因为您已将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");
        });
    });