0

下の領域を表示/非表示にする2つのボタンがあります。デフォルトでは、両方のボタンに次のアイコンがあります: "ui-icon-triangle-1-e

ボタンをクリックすると、クリックされたボタンのアイコンを「ui-icon-triangle-1-s」に変更し、適切なセクションを下に表示し、他のセクションが開いている場合は非表示にします。

あるセクションを展開してから別のボタンをクリックすると、ロジックを正しく理解できないようです。領域は適切にスワップされますが、ボタン アイコンは更新されません...

何が欠けているのかを見て教えてくれる目がもっと必要です。

$(".features").bind("click", function () {
    var that = this,
        pid  = $(this).attr("id"),
        pidC = pid + "C",
        index = $(this).closest("td").index();

    $(".features").find("span").removeClass("ui-icon-triangle-1-s").addClass("ui-icon-triangle-1-e");
    $(that).find("span").removeClass("ui-icon-triangle-1-e").addClass("ui-icon-triangle-1-s");

    // indicator OFF for all
    $(".ui-icon-triangle-1-s").removeClass("ui-icon-triangle-1-s").addClass("ui-icon-triangle-1-e");
    $("#prT").find("td").removeClass("txtCCC");

    $.each($("#prT").find("tr").children(), function () {
        if ($(that).index() != index) {
            $(that).addClass("txtCCC");
        }
    });

    if ($(".fList").hasClass("current")) {
        $(".fList:visible").slideUp().removeClass("current");

        if ($(".fList:visible").attr("id") != pidC) {
            $("#" + pidC).slideDown(function(){
            }).addClass("current"); 
        }           
    } else {        
        $("#" + pidC).slideDown(function(){
            $(".ui-icon-triangle-1-e", that).removeClass("ui-icon-triangle-1-e").addClass("ui-icon-triangle-1-s");
        }).addClass("current");

    }
});
4

0 に答える 0