3

サイトを 1.9.1 にアップグレードしたところ、以下のスクリプトが機能しなくなりました。

脚本

$(document).ready(function(){
    $("#button").toggle(function() {
        $(this).text('Hide content');
    }, function() {
        $(this).text('Show content');
    });
    $('#button').click(function(){
       $("#content_div").slideToggle("medium");
    });
});

HTML

<a href="#" id="button">Show content</a>

私はjQueryがあまり得意ではないので、誰かがこのスクリプトで私を助けてくれることを願っています.答えに解決策の説明が含まれていれば幸いです(jQueryを学ぼうとしています)。

ありがとう!

4

2 に答える 2

2

この機能は.togglejQuery 1.9 で削除されました

これを処理するにはさまざまな方法があります。1 つは、オブジェクトのクリック状態を内部的に単純に追跡することです。

$("#button").on('click', function () {
    if ($(this).data('clicked')) {
        //functionality state 2
    }
    else {
        //functionality state 1
    }
    $(this).data('clicked', function (_, data) { return !data; });
});

整数とモジュロを使用して、3 つ以上の状態を管理することもできます。

于 2013-02-14T05:03:14.193 に答える
0

以下は、あなたが探している完全な機能を提供すると思います。それは私には自明のように感じますが、繰り返しになりますが、私はそれを書きました(笑)。それで、それが理にかなっていて、あなたがする必要があることをするかどうか教えてください:)

$(document).ready(function(){
        $('#button').click(function(){
            var txt = "Show Content";
            if ($("#button").html()==txt)
            {
                txt = "Hide content";
            }
            $("#button").html(txt);


            $("#content_div").slideToggle("medium");
        });
    });
于 2013-02-14T05:28:21.653 に答える