jquery - 单div可以实现列表项动画吗?

标签 jquery html css jquery-animate

我目前正在尝试实现列表项的动画外观,就像在 Pasquale D’Silva 的示例中看到的那样:https://medium.com/design-ux/926eb80d64e3#1f47

列表项消失,空白区域似乎在瞬间保持其高度,然后折叠到 0 高度。

我实现这一点的方法是让一个 div 具有透明背景,并在其中包含另一个包含实际内容的 div。

我将为内部 div 设置动画,暂停一下,然后将外部 div 的高度设置为 0。

这是我在 codepen 上的尝试:http://codepen.io/michaellee/pen/Cnpcf (单击一个元素使其消失。)

我想知道如果不在一个 div 中有一个 div 是否可以达到同样的效果?

HTML

<div class="stackOne">
    <div class="item-holder">
        <div class="item"></div>
    </div>
    <div class="item-holder">
        <div class="item"></div>
    </div>
    <div class="item-holder">
        <div class="item"></div>
    </div>
    <div class="item-holder">
        <div class="item"></div>
    </div>
    <div class="item-holder">
        <div class="item"></div>
    </div>
</div>

CSS

.stackOne{
  display: inline-block;
  vertical-align: top;
  width: 200px;
  overflow: hidden;
  .item-holder{
    height: 50px;
    margin: 0 0 1px 0;
    .item{
      width: 200px;
      height: 50px;
      background: #ccc;
      position: relative;
    }
  }
}

JS

$('.stackOne .item').click(function(){
  var item = $(this);
  item.animate({
    left: "100%"
  }, 250, "swing", function() {
    item.parent().delay(100).animate({
      height: 0
    }, 50, "linear", function(){
      item.parent().hide();
    });
  });
});

最佳答案

您可以删除容器并将您的动画直接应用到 child - 新 JS:

$('.stackOne .item').click(function(){
  var item = $(this);
  item.animate({
    left: "100%"
  }, 250, "swing", function() {
    item.delay(100).animate({
      height: 0
    }, 150, "linear", function(){
      item.hide();
    });
  });
});

New CodePen

关于jquery - 单div可以实现列表项动画吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18195903/

相关文章:

html - 如何对齐 div 底部的内容?

javascript - HTML 表格,其中包含可通过 JavaScript 访问的可编辑字段。

javascript - Bootstrap 4 导航折叠动画在打开时停止一秒钟,确定关闭

html - 如何在按钮周围放置实线边框以显示它具有焦点而无需封闭 <div>?

javascript - 为列中的单元格单独切换基于单选按钮选择的输入显示

jQuery UI 如何: Click a button and send the whole sortable list to another tab

jquery - 动态 iframe onload 未触发?

php - CSS 不适用于其中包含 "/"的页面

jquery - 更改下拉菜单选择时 HTML 控件的状态

css - Sencha Touch Tabbar 中的双色边框