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

用jQuery扩展内容(手风琴技术)…快速提问

  •  1
  • stevendesu  · 技术社区  · 14 年前

    假设我们有两个 div 元素:

    <body>
        <div id="lorem1" style="display:block; height:400px;">
            Lorem ipsum...
        </div>
        <div id="lorem2" style="display:hidden;">
            dolor sit amet...
        </div>
    </body>
    

    如果我们想用手风琴的效果来缩小第一个 分区 我假设我们有以下简单的逻辑:

    1. 迭代地减小 #lorem1 直到达到0
    2. #洛雷姆1 display:none;
    3. #lorem2 display:block; height:0;
    4. #洛雷姆2

    lorem2 可能超过400像素高。或者,如果小于400像素,则页面上的任何背景色/图像或其他元素都可能看起来不对。

    那么我们该如何决定何时 停止 我们的手风琴?

    2 回复  |  直到 14 年前
        1
  •  0
  •   pex    14 年前

    使用jQuery,您可以使用 toggle 属性:

    $('#lorem').animate({
      height: 'toggle'
    });
    

    我相信其他js库也提供了类似的可能性。


    :另一种方法是设置对象的动画,直到 auto . 或者不要通过CSS隐藏它,通过JS获取对象的维度,然后使用JS隐藏它。现在你知道了再次显示它的维度。

        2
  •  0
  •   banjomonster    14 年前

    我想.slideDown()和.slideUp()会帮你: http://api.jquery.com/slideDown/