100x100ボックスの赤い背景を切り替えるためにjQuery UI .toggleClass(クラス、[期間])を使用していますが、結果が奇妙です。参考までにhttp://jqueryui.com/docs/toggleClass/を参照してください。jQueryのUI toggleClassの動作時間が変わっています
ますが、この例からもわかるように - http://jsfiddle.net/xkrX9/ - のdiv#ボックスに最初クリックすると、(任意の[期間]なし)、すぐに赤い背景を切り替えた後、第2クリックせずに約1秒後に戻って白に再びそれをトグルイベント。 の2番目の(ページを再ロードせずに)をクリックすると、.redクラスが1000msの持続時間で期待通りにトグルされます。
ここで何が問題になりますか?どんな洞察もありがとう!
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js"></script>
<style>
#box { width: 100px; height: 100px; border: 1px solid #999; }
.red { background: red; }
</style>
<div id="box"></div>
<script>
$('#box').click(function() {
$(this).toggleClass('red', 1000);
});
</script>
パーフェクト、これは質問に答えます。 Andrewを解説してくれてありがとう! – klicks
ありがとうございます。私はCSSの「国境」も同様のやり方で行動することを知っています。 jQueryのバグですか? – maan81
@ maan81 jQuery UIのバグ、つまりanimateClass関数のように見えます。 'this.attr( 'class')'と 'this.attr( 'style')'呼び出しを多くします。これが最も有力な原因です。 – Andrew