javascript - 添加 div 被删除时的效果

标签 javascript jquery effect

当我删除一个时,我想为其他div的“上移”添加效果。 这里是html:

<ul id="fds">
  <li>
    <h3>one</h3>
    <p>Hello guys</p>
    <p>
      <button class="remove">x</button>
    </p>
  </li>
  <li>
    <h3>two</h3>
    <p>Hello guys</p>
    <p>
      <button class="remove">x</button>
    </p>
  </li>
  <li>
    <h3>three</h3>
    <p>Hello guys</p>
    <p>
      <button class="remove">x</button>
    </p>
  </li>
  <li>
    <h3>four</h3>
    <p>Hello guys</p>
    <p>
      <button class="remove">x</button>
    </p>
  </li>
</ul>

这里是 JavaScript:

$("#fds").delegate(".remove", 'click', function() {
    var $li = $(this).closest("li");
  $li.fadeOut(300, function() {
    $li.remove();
  })
})

Here一个 JS 来测试这个。

最佳答案

将上边距设置为减去高度,以提供更好的用户体验。

$("#fds").delegate(".remove", 'click', function() {
    var $li = $(this).closest("li");
    
  $li.css({opacity: 0}).animate({marginTop: -1 * $li.height()}, 400, function() {$li.remove();})
})
li
{
border: 1px solid red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul id="fds">
  <li>
    <h3>one</h3>
    <p>Hello guys</p>
    <p>
      <button class="remove">x</button>
    </p>
  </li>
  <li>
    <h3>two</h3>
    <p>Hello guys</p>
    <p>
      <button class="remove">x</button>
    </p>
  </li>
  <li>
    <h3>three</h3>
    <p>Hello guys</p>
    <p>
      <button class="remove">x</button>
    </p>
  </li>
  <li>
    <h3>four</h3>
    <p>Hello guys</p>
    <p>
      <button class="remove">x</button>
    </p>
  </li>
</ul>

关于javascript - 添加 div 被删除时的效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48042277/

相关文章:

Javascript 停止图片加载

javascript - jquery animate 不流畅

android - 应用 ffmpeg 复古效果后视频不播放

javascript - jquery 如何给帖子添加评论

forms - 我怎样才能做到这种效果?

javascript - 悬停时淡出/淡入 Div

javascript - 网站内容更改后重新加载内容

javascript - createjs加载本地文件loadqueue

javascript - Nodejs : write list into csv

jquery/ajax shoutbox 不刷新内容但提交