js新手 请大家来帮忙看看这段js怎样优化一下 谢谢

<div class="itemArea">
<div class="itemLeft">
<p><span>业务员核算部门:</span></p>
</div>
<div class="itemMain clearFix">
<ul class="imList h20 clearFix">
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
<li><a href="#">业务员核算部门01</a></li>
</ul>
<p class="btnarea hid"><a href="#" class="btn btn-primary btn-xs">确定</a><a href="#" class="btn btn-outline btn-xs btn-default cancel">取消</a></p>
</div>
<div class="itemRight"><a href="#" class="dx"><span>多选</span></a><a href="#" class="bm"><span>更多</span> <i class="fa fa-angle-down"></i></a></div>
</div>
//更多
$(".itemArea .itemRight .bm").click(function() {
        $(this).parent().prev().find("ul").removeClass("h20");
        $(this).parent().prev().find("ul").addClass("hau");
        var _arrow = $(this).find("i").attr("class");
        if (_arrow == "fa fa-angle-down") {
                $(this).find("i").attr("class", "fa fa-angle-up");
                $(this).find("span").text("收起")
        } else {
                $(this).find("i").attr("class", "fa fa-angle-down");
                $(this).find("span").text("更多");
                $(this).parent().prev().find("ul").removeClass("hau");
                $(this).parent().prev().find("ul").addClass("h20");
                 $(this).parent().prev().find("ul li").removeClass('act');
                $(this).parent().prev().find(".btnarea").hide();
                $(this).prev().show();
        }
        return false;
});

//  多选
$(".itemArea .itemRight .dx").click(function() {
        $(this).parent().prev().find(".btnarea").show();
           $(this).hide();
           $(this).next().hide();
        $(this).parent().prev().find("ul").removeClass("h20");
        $(this).parent().prev().find("ul").addClass("hau");
        $(this).parent().prev().find("ul li").addClass("act");
        return false;
});

// 点击li.act 
$(document).on("click", '.itemArea ul li.act',function() {
    $(this).toggleClass('on');
});

//  取消
$('.itemMain .btnarea .cancel').click(function() {
        $(this).parent().parent().find("ul").removeClass('hau').addClass('h20');
        $(this).parent().parent().find("ul li").removeClass('act');
        $(this).parent().parent().find("ul li").removeClass('on');
        $(this).parent().parent().find(".btnarea").hide();
        $(this).parent().parent().next().find('.dx').show();
        $(this).parent().parent().next().find('.bm').show();
        var _arrow02 = $(this).parent().parent().next().find('.bm i').attr("class");
        if (_arrow02 == "fa fa-angle-up") {
                $(this).parent().parent().next().find(".bm i").attr("class", "fa fa-angle-down");
                $(this).parent().parent().next().find(".bm span").text("更多")
        }
        return false;
});
阅读 1.9k
2 个回答

这样贴上来不知道你要干嘛

最基本的,先把变量缓存起来吧= =

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题