私が達成したいのは、トランジションがそれらの間で実行されるように、前の状態から最初の状態へと変わらないように、いくつかのプロパティ(上記のコードでbackground-color
)上記のコードはほとんどタイムアウトが0に設定されているのでほとんど動作しません。少なくとも10に設定されていればほぼ常に動作し、100に設定すると常にマシン上で動作します。コードを線形に実行するか、適切なイベントコールバックに基づいて実行してください(これまでのところ有用ではありませんでした)。ここで遅延なしで純粋なJSでCSSを遷移
は、例えば、(also on jsFiddle)です:
var outter = document.getElementById('outter');
var test = document.getElementById('test');
test.onclick = function() {
outter.removeChild(test);
test.style.backgroundColor = 'green'
outter.appendChild(test);
setTimeout(function() {
test.style.backgroundColor = 'red'
}, 0);
}
#test {
position: fixed;
left: 2em;
right: 2em;
top: 2em;
bottom: 2em;
background-color:red;
transition-duration: 2s
}
<div id=outter>
<div id=test></div>
</div>
だからクリックで、あなたは背景がすぐに緑から赤に移行する2秒を費やし、その後、緑色に点灯したいですか? –
@ T.J.Crowderまさに!ここで最も重要なのは、「ただちに」という言葉です。 – Grief
私は理解できません。AからBへとすぐに移行したいのですが、遅れてAからBに移行したいのです。あなたはすでにBにいます。 – Crowes