javascript - 请高人优化一小段jquery代码 if else
PHP中文网
PHP中文网 2017-04-10 15:43:28
0
1
486
<p class="sort-p fl">
                <a href="javascript:;" class="active redu">
                    <span>沟通热度<i class="down"></i></span>
                </a>
                <a href="javascript:;" class="time">
                    <span>创建时间<i></i></span>
                </a>
            </p>
$(document).on("click",".sort-p 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 ;
                    }
                }
            }
            
        })

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

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
巴扎黑

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

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 ;

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板