是否有任何循环方式有助于不再重复相同的代码?

时间:2018-02-01 16:06:13

标签: jquery

我正在使用jquery进行自定义折叠,但我的写作方式是重复代码。有没有办法不重复代码? Plz帮助...

3 1 2

我必须通过更改某个类来为下一个块编写相同的代码。并且有这么多块。

Promises

提前致谢。

1 个答案:

答案 0 :(得分:5)

我会将代码包装在一个接受ID和索引的函数中:

function prepBlockTitles(id, togglerClass, index) {
    var blockTitles = $(id + ' .block-title');

    blockTitles.wrap("<div class='click-wrapper-"+index+"'></div>");
    blockTitles.after("<div class='drop-arrow-down'></div>");
    blockTitles.addClass("drop-arrow-down-title");
    $(id + ' .click-wrapper-'+index).on('click', function(e) {
      $(this).toggleClass("collapsed");
      $(this).parent().toggleClass("active drop-arrow-down");
      $(togglerClass).toggle();
      e.preventDefault();
    });
}

然后,您可以将所有ID放在数组中并循环遍历它,并将id和index传递给函数。