点击逻辑 - 用jQuery交换图标

时间:2012-07-27 18:09:13

标签: jquery

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

    }
});

0 个答案:

没有答案