0

ボタンをクリックすると、slideToggle、2 つのクラス間のトグル、および Cookie の設定の 3 つが発生します。最初の 2 つのことは正しく機能しています。クラスが open または closed のcompanyDescriptionDivどちらであるopenedclosedに応じて、Cookie を設定する必要があります。#showhide-company-description

$(document).on('click', "#showhide-company-description", function () {
    $("#companydescription").slideToggle("slow", function () {
        $("#showhide-company-description").toggleClass("opened").toggleClass("closed");
    });
});
4

2 に答える 2

1

ところで、toggleClass を 2 回呼び出す必要はありません。たとえば、toggleClass('opened, closed') のように、トグルするクラスのコンマ区切りリストを渡すことができます。個人的には、次のようにします。

$(document).on('click', "#showhide-company-description", function () {
    var $toggler = $(this);
    $("#companydescription").slideToggle("slow", function () {
        var isOpen = $toggler.toggleClass('opened, closed').hasClass('opened');
        if(isOpen) {
            setCookie.routine();
        });
    });
});

これにより、トグルが実行され、同時にその「状態」が返されます。

于 2012-07-31T14:41:37.643 に答える
0

クラスを確認します。

if ($("#showhide-company-description").hasClass("opened")) {
  //set cookie
}

クッキーを設定

于 2012-07-30T09:45:23.290 に答える