【发布时间】:2016-02-10 07:01:48
【问题描述】:
我正在寻找一种方法来中断动画并改变方向,例如:
var elem = document.getElementById('elem');
var rightwards = false;
var leftKeyframe = { transform: 'translate(0)' };
var rightKeyframe = { transform: 'translate(200px, 0)' };
function toggledirection() {
rightwards = !rightwards;
if (rightwards) {
elem.animate([leftKeyframe, rightKeyframe], 1000);
} else {
elem.animate([rightKeyframe, leftKeyframe], 1000);
}
}
div {
width: 50px;
height: 50px;
border: 3px solid grey;
}
<div id="elem"></div>
<button onclick="toggledirection();">Toggle Direction</button>
但是,请注意我必须如何定义每个动画的开始位置,因此当我中断正在运行的动画时,框会跳到新的开始位置并从那里开始。我希望该框从当前like so 的任何位置开始(但这使用 CSS 动画,而我正在寻找 JS 解决方案)。到目前为止,我唯一的方法是通过parsing the transform string 检索当前翻译,但我想知道是否有更简单的方法。
【问题讨论】:
-
caniuse.com/#feat=web-animation 嗯,我不知道这个 API。但是,为什么不像您在“like so”链接中分享的示例那样提供 css/js 解决方案?
-
js 动画有更多的功能和灵活性,甚至可以是faster :O
标签: javascript animation