Velocity JS和动态添加的DOM元素

米格列娃

我有两个CodePens描述我的问题。我正在使用Velocity为页面上的React渲染元素设置动画。

目的是根据等级将这些“文章”在页面上上下移动。它们是绝对定位的,我根据确定了页面上的位置rank * height

工作示例成功显示了所有元素,然后在setTimeout2秒钟后反转了顺序。

这个不起作用的示例应该做完全相同的事情,但是它在页面中移动的唯一一个是最终的DOM对象(id=article-5)。

这些示例之间的唯一区别是,工作示例在页面上已经渲染了DOM元素,而非工作示例通过JavaScript渲染了HTML。

var articlesContainer = document.getElementsByClassName('articles')[0];
for (var i = 1; i <= 5; i++) {
  articlesContainer.innerHTML = articlesContainer.innerHTML + '<div id=article-' + i + '></div>';
}

不太确定为什么动态添加HTML元素会破坏这一点。值得一提的是,未能进行动画处理的前4个元素具有class velocity-animating,这意味着Velocity至少尝试了对对象进行动画处理,但是似乎在某个地方失败了。

有任何想法吗?

亚历山大·基森伯格

当您这样做时articlesContainer.innerHTML = newHTML,您将卸载articleContainer中的所有节点并安装新的节点。因此,“速度/反应”在分离的节点上进行操作,但最后一个商品节点是唯一未卸载的节点。使用document.createElementnode.appendChild代替:

var articlesContainer = document.getElementsByClassName('articles')[0];
for (var i = 1; i <= 5; i++) {
  var div = document.createElement('div');
  articlesContainer.appendChild(div);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Velocity JS和动态DOM内容插入序列

来自分类Dev

Velocity JS和Velocity UI的CDN后备

来自分类Dev

Velocity JS动态设置属性

来自分类Dev

velocity.js序列转换

来自分类Dev

Velocity.js的步进函数?

来自分类Dev

Velocity.js和calc()CSS函数

来自分类Dev

Velocity.js-停止动画回调

来自分类Dev

Velocity.js绕中心轴旋转

来自分类Dev

Velocity.js-停止动画回调

来自分类Dev

Velocity.js-绕中心旋转

来自分类Dev

使用Velocity.js的无限背景动画

来自分类Dev

在React中使用Velocity.js动画

来自分类Dev

使用CSS和Velocity JS淡入内联块

来自分类Dev

如何使用npm将Velocity插件添加到ScrollMagic?

来自分类Dev

Java Velocity循环每3个项目添加div

来自分类Dev

在 spark scala Velocity 中添加日期字段的天数

来自分类Dev

使用Velocity和Jasmine测试流星时需要超时

来自分类Dev

停止后重新启动Velocity.js动画循环

来自分类Dev

javascript,将变量用作Velocity.js中的属性名称

来自分类Dev

Velocity.js在动画完成后删除样式属性

来自分类Dev

Velocity.js在动画后清除默认值

来自分类Dev

Velocity.js的第一个动画被忽略

来自分类Dev

将Velocity.js与Webpack一起使用

来自分类Dev

Velocity.js //不透明度问题

来自分类Dev

javascript,将变量用作Velocity.js中的属性名称

来自分类Dev

velocity.js文件存在,但功能不起作用

来自分类Dev

在Angular JS之外使用JSP(或Velocity模板)

来自分类Dev

简单的rotateZ在Velocity js中不起作用

来自分类Dev

使用香草javascript和Velocity.js将div旋转以使其鼠标光标缓慢运行