我正在使用CSS3步进转换来将精灵从一个状态动画到另一个状态。
当我开始一个动画时,它会逐帧显示,并具有漂亮的过渡效果(在示例中单击“show / hide”链接)。但是,当第二个转换在第一个转换仍在运行时被触发时,帧位置会丢失,看起来像是滚动到另一侧,而不是维护逐帧动画(在示例中单击“trigger bug”)。
当我开始一个动画时,它会逐帧显示,并具有漂亮的过渡效果(在示例中单击“show / hide”链接)。但是,当第二个转换在第一个转换仍在运行时被触发时,帧位置会丢失,看起来像是滚动到另一侧,而不是维护逐帧动画(在示例中单击“trigger bug”)。
.tree {
width: 26px; /* one frame */
height: 31px; /* frame height */
background-image: url("http://rolandschuetz.at/docs/tree-animated.png");
background-repeat: no-repeat;
background-position: -234px 0; /* last frame */
transition: background-position .8s steps(10); /* this triggers the CSS3 step transition */
}
.tree-hidden {
background-position: 26px 0; /* clear, before first frame */
}
是否有一种方法可以强制动画正确工作,即使它中止了旧动画?
PS:请不要尝试通过触发错误按钮进行“修复”,它仅用于演示目的。真正的问题是由快速用户交互引起的,应该立即反馈。