【问题标题】:JQuery SlideToggle Effect: Slide One List Only & Unworking LinksJQuery SlideToggle 效果:仅幻灯片一个列表和无效链接
【发布时间】:2014-02-12 23:24:24
【问题描述】:

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

  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;
}

【问题讨论】:

    标签: jquery hyperlink expand


    【解决方案1】:

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

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

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

    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");
        });
    });
    

    【讨论】:

    • 我正在我的模板上试用它,到目前为止,幻灯片功能运行良好,但链接在 jsfiddle 中不起作用,希望它能在我的页面上运行。
    • Google 链接不起作用,但这不是因为我的代码。将链接更改为其他内容即可:jsfiddle.net/W8H6W/6
    • 幻灯片功能在添加到我的模板时不起作用,在 jsfiddle 中似乎很好,但这是我的 css 发生的情况 - jsfiddle.net/yAqQG/2
    • 你有一堆悬停样式正在炸毁滑块。您需要大幅简化。
    • 在您的二级 LI 上设置显式高度以防止滑动跳跃:jsfiddle.net/yAqQG/4
    猜你喜欢
    • 1970-01-01
    • 2016-04-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-06
    • 2013-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多