我正在使用jquery进行自定义折叠,但我的写作方式是重复代码。有没有办法不重复代码? Plz帮助...
3 1 2
我必须通过更改某个类来为下一个块编写相同的代码。并且有这么多块。
Promises
提前致谢。
答案 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传递给函数。