0

我有两个按钮可以显示/隐藏下面的区域。默认情况下,两个按钮都有以下图标:“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