想要一个类似手风琴的结构,除了默认显示全部 - 推荐?

时间:2011-05-04 23:58:45

标签: jquery jquery-ui

正如标题所暗示的那样,我正在寻找一组很好的水平按钮或标签,默认显示所有子节点,其余的按钮/标签关闭除了你点击的所有内容之外的所有内容。 show-all将被视为第一个按钮/标签。我总是可以编写自己的代码来完成这项工作,但是整个过程中重新发明轮子的原因......

建议?

编辑:所以我根据建议提出了以下建议:

Jquery的:

$( "#tabs ul li a" ).click(function(e){
    e.preventDefault();
    var id = $(this).attr('href');
    $(id).show().siblings().not('ul').hide();
});

HTML:

<div  id="tabs">
    <ul>
        <li><a href="#tab1">tab 1</a></li>
        <li><a href="#tab2">tab 2</a></li>
        <li><a href="#tab3">tab 3</a></li>
        <li><a href="#tab4">tab 4</a></li>
    </ul>
    <div id="tab1">info 1</div>
    <div id="tab2">info 2</div>
    <div id="tab3">info 3</div>
    <div id="tab4">info 4</div>
</div>

1 个答案:

答案 0 :(得分:1)

不确定这是否正是您所要求的,但在jQuery UI accordian功能之外,通过链接调用隐藏和显示兄弟元素非常简单:

$('div#id').click(function(){
   $(this).show().siblings().hide();
});

显然,这是一个非常基本的例子,不涉及子元素,但希望你能理解。