不透明度を変更したCSSトランジションをいくつか行いました。 javascriptを使用して、新しいクラスを追加したり削除したりして始めました。CSSトランジションが時々遅れる
それは次のようだ:私はクリックした後、クラスの変更を発射のEventListenerを作っ
.element {
opacity: 0;
z-index; -1;
display: none;
transition: opacity .2s linear;
}
.changeDisplay {
display: block;
}
.show {
z-index: 1;
opacity: 1
}
JavaScriptで。最初に.changeDisplayクラスが追加され、setTimeout (delay, 4)
関数の後に.showクラスも追加されます。フェードインアニメーション(不透明度の遷移)が機能するには、4ms(遅延許容最小値にする必要があります)の遅延が重要です。
問題は - 時にはこれが期待どおりに動作しないことがあります。アニメーションは時々遅くなるので、アニメーション効果が全く働いていない(それはちょうどディスプレイの変化によって現れたように見える)。
なぜそれがありますか、毎回スムーズなアニメーションを得るにはどうすればよいですか?私はChrome(Androidのモバイルクロムにも)、Opera、Firefox、IE(Safariは私の家にリンゴがないためにテストされていませんでした)でこの動作を観察しました。
4msは、人間の目がトランジションを知覚するための実際の時間です。詳細はこちら:https://stackoverflow.com/questions/7882713/can-a-human-eye-perceive-a-10-milliseconds-latency-in-image-load-time#7882769 – Dez
4msはとても低く設定されていますユーザーが気づかないでください。この低遅延がなければ、不透明度の遷移は機能しません - > https://stackoverflow.com/questions/3331353/transitions-on-the-display-property 魔法の目立つ遷移は200msに設定されています。注目すべきです;)(遷移属性を見る) – Flo