私はあなたの問題を再現することができました、そしてこれはそれを修正します。transform
探している結果を達成するためにを必要とせず、ただtransition
。transition
それ自体がハードウェアアクセラレーションです。
http://www.html5rocks.com/en/tutorials/speed/html5/#toc-hardware-accellから:
CSSトランジションは、スタイルアニメーションを誰にとっても簡単なものにしますが、スマートなパフォーマンス機能でもあります。CSSトランジションはブラウザによって管理されるため、アニメーションの忠実度を大幅に向上させることができ、多くの場合、ハードウェアアクセラレーションを利用できます。
デモ: http: //jsfiddle.net/ThinkingStiff/bqSJX/
脚本:
function doMove() {
document.getElementById('mover').style.left = '150px';
window.setTimeout( function() {
document.getElementById('mover').style.left = '50px';
}, 1000 );
}
window.setInterval( function() { doMove(); }, 3000 );
CSS:
#content {
font-size: 150%;
position: relative;
}
#mover {
font-size: 200%;
left: 50px;
position: absolute;
top: 250px;
transition: left 1.1s ease-in-out;
}
HTML:
<div id="content">A large cake with seventeen BURNING candles is in the
center of the table. It says "HAPPY 16TH BIRTHDAY" and
"GOOD LUCK, WESLEY." The whole BRIDGE CREW waits
around the table as Wesley ENTERS with Beverly. He's
touched, embarrassed and -- wants to get out of there.</div>
<div id="mover">SOMETHING</div>