1

トグルオープン時に「A」、トグルクローズ時に「B」を実行する機能を実行しようとしています。

コード:

function awesome_toggle()
{
    $(".button").click(function()
    {
        $("content").toggle(
            function()
            {
                /* Do "A" */
            },
            function()
            {
                /* Do "B" */
            }
        );
    });
}

このコードは機能していないようで、理由がわかりません。関数を1つだけ使用する場合は、/ * Do "A" * /の後にコードを停止しますが、/ * Do "B" * /関数を追加すると、機能しなくなります。なにが問題ですか?

jqueryバージョン:ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js

4

1 に答える 1

6

コメントが述べているように、このバージョンはtoggle非推奨になりました。

目的を達成するためのより良い方法があるかもしれませんが、セレクターで切り替えた後に要素が表示されるかどうか:visible確認し、それに基づいて条件付きで処理を行うことができます。

function awesome_toggle()
{
    $(".button").click(function() {
        $("content").toggle(normalSpeed, function () {
            if ($("content").is(':visible')) {
                /* Do "A" */
            } else {
                /* Do "B" */
            }
        });
    });
}
于 2013-03-25T18:51:44.667 に答える