首页 > 请高人优化一小段jquery代码 if else

请高人优化一小段jquery代码 if else

<div class="sort-div fl">
                <a href="javascript:;" class="active redu">
                    <span>沟通热度<i class="down"></i></span>
                </a>
                <a href="javascript:;" class="time">
                    <span>创建时间<i></i></span>
                </a>
            </div>
$(document).on("click",".sort-div a",function(){
            if($(this).hasClass("redu")){
                if($(this).hasClass("active")){
                    if($(this).find("i").hasClass("down")){
                        $(this).find("i").removeClass("down");
                        curOrder = 0;
                        hotApiListInit(start,end,txt,0,1,departid);
                        return ;
                    }else{
                        $(this).find("i").addClass("down");
                        curOrder = 1;
                        hotApiListInit(start,end,txt,1,1,departid);
                        return ;
                    }
                }else{
                    $(this).addClass("active").siblings().removeClass("active");
                    if($(this).find("i").hasClass("down")){
                        $(this).find("i").addClass("down");
                        curOrder = 1;
                        hotApiListInit(start,end,txt,1,1,departid);
                        return ;
                    }else{
                        $(this).find("i").removeClass("down");
                        curOrder = 0;
                        hotApiListInit(start,end,txt,0,1,departid);
                        return ;
                    }
                }
            }else if($(this).hasClass("time")){
                if($(this).hasClass("active")){
                    if($(this).find("i").hasClass("down")){
                        $(this).find("i").removeClass("down");
                        curOrder = 2;
                        hotApiListInit(start,end,txt,2,1,departid);
                        return ;
                    }else{
                        $(this).find("i").addClass("down");
                        curOrder = 3;
                        hotApiListInit(start,end,txt,3,1,departid);
                        return ;
                    }
                }else{
                    $(this).addClass("active").siblings().removeClass("active");
                    if($(this).find("i").hasClass("down")){
                        $(this).find("i").addClass("down");
                        curOrder = 3;
                        hotApiListInit(start,end,txt,3,1,departid);
                        return ;
                    }else{
                        $(this).find("i").removeClass("down");
                        curOrder = 2;
                        hotApiListInit(start,end,txt,2,1,departid);
                        return ;
                    }
                }
            }
            
        })

简化一下 因为分类查询有好几个,这样写太笨了,求优化思路


优化谈不上,给楼主一个简单的思路

if($(this).find("i").hasClass("down")){
    $(this).find("i").removeClass("down");
    curOrder = 2;
    hotApiListInit(start,end,txt,2,1,departid);
    return ;
}else{
    $(this).find("i").addClass("down");
    curOrder = 3;
    hotApiListInit(start,end,txt,3,1,departid);
    return ;
}

简单改写一下

var status = $(this).find("i").hasClass("down");

$(this).find("i").toggleClass("down");
curOrder = status.length ? 2 : 3;
hotApiListInit(start, end, txt, curOrder, 1, departid);

return ;

【热门文章】
【热门文章】