向上滑动并向下滑动

时间:2011-07-31 22:44:17

标签: javascript jquery slidedown slideup

我有一个包含组名的列表。

<ul id="groups" >
  <li id="group1" ></li>
  <li id="group2" ></li>
  <li id="group3"></li>
</ul>

和滑动容器

 <div id="containers" >
    <ul id="container1" >
      Lorem ipsum ..
    </ul>

    <ul id="container2" >
          Lorem ipsum ..
        </ul>

    <ul id="container3" >
          Lorem ipsum ..
        </ul>
  </div>

我想要做的是当你点击群组时它隐藏现有的容器并显示新容器。

2 个答案:

答案 0 :(得分:1)

function hideAll() {
    $("#container1 #containter2 #container3").hide();
}

$("#group1").click(function(){
    hideAll();
    $("#container1").show();
}

$("#group2").click(function(){
    hideAll();
    $("#container2").show();
}

$("#group3").click(function(){
    hideAll();
    $("#container3").show();
}

快速而残酷,但如果您拥有少量元素,则可能会有效。如果你有更多,那么你应该把事情分成几类($(".container").hide();)等等。

答案 1 :(得分:1)

$("#groups > *").live('click', function() {
    var linkIndex=parseInt($(this).attr('id').match(/[0-9]+/)[0], 10);
    $("#containers > *").slideUp('slow');
    $("#containers > *").filter(function() {
        var containerIndex=parseInt($(this).attr('id').match(/[0-9]+/)[0], 10);
        return containerIndex==linkIndex;
    }).slideDown('slow');
});

您可以演示(稍加修改)版本here