javascript - CSS Translate 已翻译的元素

标签 javascript css css-animations

我正在尝试将 animate.css 中的“反弹”效果应用到其样式元素中已具有以下属性的元素(由第三方 JS 库添加):

style="... transform: translate(625px, 471px); ..."

应用以下弹跳动画时:

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }

  40% {
    -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
  }

  60% {
    -webkit-transform: translateY(-15px);
    -ms-transform: translateY(-15px);
    transform: translateY(-15px);
  }
}

动画之前元素的位置不会固定,元素会移动到页面顶部并在那里进行动画处理。

此 CSS 是否有变体,可以应用反弹效果,而不通过 style 属性覆盖元素上已有的变换?我真的不想侵入第三方库来包装元素或任何东西,除非我可以帮助它。

提前致谢。

最佳答案

如果您想要相对动画,则必须将其包装在另一个元素中。 您不必侵入第三方库即可执行此操作。您可以动态插入 div,而不会弄乱现有代码。

我会执行以下操作:

// `element` is the element you want to wrap
var parent = element.parentNode;
var wrapper = document.createElement('div');

// set the wrapper as child (instead of the element)
parent.replaceChild(wrapper, element);
// set element as child of wrapper
wrapper.appendChild(element);

在这里阅读更多内容: https://developer.mozilla.org/en-US/docs/Web/API/Node.replaceChild

关于javascript - CSS Translate 已翻译的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24165756/

相关文章:

javascript - react 过渡组出现过渡无法正常工作

javascript - react , enzyme : Cannot read property 'history' of undefined

html - 条件 CSS : if a selector contains another selector?

html - 将自定义 CSS 类添加到 Wordpress/Genesis 输出的不同 HTML 元素

css - 摆脱动画上的 css 抖动

html - css @-moz-keyframes 动画不适用于 firefox 18.0.1

javascript - 任何人都知道一个好的 Javascript 提示用户升级他们的浏览器

javascript - 使用 CSS 缩放/矩阵不会使背景与元素保持对齐

javascript - AJAX 调用后使用 django 变量填充下拉列表

javascript - 如何在没有动画的情况下完成 scrollRight?