4
在JavaScript中,这也可以写成这样:与CSS transitionless关键帧
var state = 0;
setTimeout(function keyFrames() {
fooElement.style.backgroundPosition = '0 -' + (10*state++) + 'px';
if (state === 2) {
state = 0;
}
setTimeout(keyFrames, 500);
}, 500);
CSS3关键帧提供了一个非常类似的功能:
@keyframes foo { 0% { background-position: 0 0; } 50% { background-position: 0 -10px; } 100% { background-position: 0 -20px; } }
#fooElement { transition: foo 1500ms linear infinite; }
不同的是,CSS过渡将利用时机功能。有没有办法使用CSS复制精确的JavaScript行为?
你是否会在状态之间跳跃500ms? @keyframes foo {0%{background-position:0 0; } 49%{background-position:0 0; } 50%{background-position:0 -10px; } 99%{background-position:0 -10px;} 100%{background-position:0 -20px; }} –