이런 식으로 접었다 폈다 하는 메뉴를 아코디언 메뉴라고 합니다.
HTML
라는 티스토리 치환자만 있으면 됩니다.CSS
1 2 3 4 5 6 7 8 | .sub_category_list {display:none} .ac-toggle i {transition:.25s} .ac-menu.expanded .ac-toggle i{transform:scaleY(-1)} .ac-menu .ac-toggle i { float: right; padding-right: 5px; pointer-events: none } | cs |
.ac-menu .ac-toggle i라는 항목과 .c_cnt라는 항목(티스토리에서 기본적으로 카테고리 글 수에 추가하는 class)에 같은 css를 적용하면 위 사진처럼 모두 우측 정렬됩니다.
JS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | $(function() { $(".category_list").children("li").has("ul").addClass("ac-menu"), $(".ac-menu .link_item").append("<i class=\"icon-chevron-down\"></i>").addClass("ac-toggle"), $(".ac-menu").each(function() { var c = $(this).children(".link_item"), d = c.attr("href"); c.removeAttr("href"), $(this).children("ul").prepend("<li><a class=\"link_sub_item view-all\" href=" + d + ">카테고리 전체 보기</a></li>"), c.children("span").appendTo(c.parent(".ac-menu").find(".view-all")) }), $(".ac-toggle").click(function() { var c = $(this).parent(".ac-menu"); c.children("ul").toggle(250), c.toggleClass("expanded") }) }); | cs |
"icon-chevron-down" 을 본인이 사용 중인 아이콘 폰트에 맞는 class로 변경해주세요.
전 나중에 수정할 때 편하려고 $(function(){});으로 감싸뒀는데, 삭제하셔도 됩니다.