优化J $ plus将3 <scripts>合并为1

时间:2016-05-03 04:59:05

标签: javascript performance optimization code-snippets

请您告诉我如何优化此J $并合并它。基本上,它们是彼此重复的,但只是为不同的元素添加不同的类。

你可以看到&#34;抽屉&#34;在this website - 寻找&#34; 免费获取...... &#34;

<script>
$(document).ready(function(){
    $("#drawer-closed").click(function(){
        $(".get-free-program .btn").addClass("expander425");
    });
});
</script>

<script>
$(document).ready(function(){
    $("#drawer-closed").click(function(){
        $(".get-free-program form").addClass("showform");
    });
});
</script>

<script>
$(document).ready(function(){
    $("#drawer-closed").click(function(){
        $(".get-free-program img.arrowToggler").addClass("arrow-flipper");
    });
});
</script>

3 个答案:

答案 0 :(得分:3)

您可以使用链接。它比单独添加类要快得多。

<script>
    $(document).ready(function(){
        $("#drawer-closed").click(function(){
            var $this = $(this);
            if ($this.hasClass("toggleStart")) {
                $this.removeClass("toggleStart");
                $(".get-free-program").find(".btn").removeClass("expander425").end().find("form").removeClass("showform").end().find('img.arrowToggler').removeClass("arrow-flipper");

            } else {
                $this.addClass("toggleStart");
                $(".get-free-program").find(".btn").addClass("expander425").end().find("form").addClass("showform").end().find('img.arrowToggler').addClass("arrow-flipper");
            }
        });
    });
</script>

答案 1 :(得分:1)

<script>
$(document).ready(function(){
    $("#drawer-closed").click(function(){
        $(".get-free-program .btn").addClass("expander425");
          $(".get-free-program form").addClass("showform");
 $(".get-free-program img.arrowToggler").addClass("arrow-flipper");
  });
});
</script>

应该

答案 2 :(得分:1)

您可以在数组中存储选择器,className,使用$.each()将事件附加到每个选择器,使用index的{​​{1}}参数添加$.each()对应于选择器索引

className