JQueryカラーアニメーションが確実に起動しない
-
05-07-2019 - |
質問
jqueryホバーイベントの使用に問題があります。私は問題の削減を作成しました。実用的なデモは、こちらで確認できます。 IE、FF、Opera、Chromeでマウスを動かした後、これを再現できます。
マウスオーバーイベントでキューに入れられたアニメーションを使用しています。約1%の時間、マウスがtdを離れた後、td要素の色は#0f0
のままです。これはすべきではありません。 mouseoutイベントは、時間の経過後に最終的にすべてのtdsが#00f
に戻ることを保証する必要があります。
更新2:
これを、おそらくこれまでの範囲で削減しました。マウスイベントはまったく使用されていません。 Operaでうまく動作し始めましたが、IEは完全なクラスターになりました。
とにかく、ボタンを使用してこれをトリガーしています:
function ani() {
$('td')
.stop()
.animate({backgroundColor: '#0f0'}, 3000)
.animate({backgroundColor: '#00f'}, 3000);
}
参照こちら。
[n + 1]を更新:
これを放っておくことはできません。アニメーションが実際に発生していると判断しました。 背景色を自動化するだけではありません。これを行うには、テキストを追加し、背景と前景を一斉にアニメーション化します。通常の状態では、アニメーションが開始されるとテキストが表示されることはありませんが、背景が「忘れられ」たり、前景になったりすることがあります。これは、jqueryアニメーションが実際に発生していることを示していますが、指示されたすべての属性をアニメーション化しているわけではありません。好奇心については、 こちら でアクションをご覧ください。 (警告:IEはこれにかなり苦労します)
さて、今すぐビデオゲームをプレイします。
解決
1%の数字を取得する方法がわかりません。どのような動作が発生しているかはわかりませんが、FF3とIE8の両方で、ここに記載されているように、このい違法プロパティ値エラーが発生します: http://dev.jqueryui.com/ticket/4251 。さらに関連するのは、単色のアニメーションに変更したとしても、それらの多くは色を変更していません。
jquery.color.jsのその行を修正すると、FF3とIE8の両方が魅力のように機能しますが、IE8は白い画面になりますが、最終的には回復します。
jQueryはDOMの管理に最適であり、効果にはあまり適していません。私の経験では、UIの使用は苦痛であり、常に問題がありました。ただし、フレームワーク自体は常に私をうまく扱っています。