4

jQuery UI .toggleClass(class, [duration]) を使用して 100x100 ボックスの赤い背景を切り替えていますが、得られる結果は奇妙です。参照については、 http://jqueryui.com/docs/toggleClass/を参照してください。

この例からわかるように - http://jsfiddle.net/xkrX9/ - div#box を最初にクリックすると、赤い背景がすぐに ([期間] なしで) 切り替わり、約 1 秒後に再び白に戻ります。 2 回目のクリック イベント。2 回目のクリック(ページをリロードせずに) を行うと、.red クラスが 1000 ミリ秒の期間で期待どおりに切り替えられます。

ここで何がうまくいかないのですか?洞察をありがとう!

<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>
4

1 に答える 1

2

それはバグのようです。クラス属性がないと動かないのですが、クラス属性をノードに追加するとうまくいき、

http://jsfiddle.net/xkrX9/3/

バグレポートを提出します。

jQuery UIバグ #8113

于 2012-02-16T20:45:00.777 に答える