javascript - 删除元素时动画列表项?

标签 javascript jquery css dom smooth-scrolling

我已经实现了一个滚动列表,它通过删除顶部元素并将其附加到底部来工作。这给了它无限滚动的效果。问题是,通过删除 < li >,所有元素都会以一种不稳定的方式向上移动(明确地说,我确实希望它们向上移动,但我希望它是平滑的)。

有什么方法可以让 DOM 中的这种变化动起来,让元素看起来像是滑到新的位置,而不是猛然到位?下面是一些代码来展示它目前是如何实现的:

<ul>
    <li>One</li>
    <li>Two</li>
    <li>Three</li>
    <li>Four</li>
</ul>

// Called every few seconds
function scrollList () {
  var top = $('li').first();
  $('li').first().remove();
  $('ul').append(top);
}

这是显示当前行为的 JS Fiddle 链接: http://jsfiddle.net/gak7u1r8/

最佳答案

这个怎么样?

setInterval(function () {
  var top = $('li').first();
    top.hide(200, function() {
      top.remove();
      $('ul').append(top);
      top.show(200);
    });
}, 2000);

关于javascript - 删除元素时动画列表项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26246106/

相关文章:

javascript - 在 Google Apps 脚本中访问多个参数值

javascript - Node module.exports 返回未定义

css - 让最后一个 <li> 元素按照我想要的方式工作

css - 导入字体导致布局不正确

javascript - 自定义弹出窗口中的第三方内容

c# asp.net mvc5,在c# dll中嵌入js

javascript - 让CSS回到动态phonegap应用程序(jQuery)$().append问题

javascript - 使用 jquery(使用自定义代码)更改 div 类和 id 的基本语法

javascript - 如何在本地(在机器上)保存 JSON 数据?

css - 响应式网站空白打印预览